中文

ThundeRiNG:在 FPGA 上生成多路独立随机数序列

分布式、并行与集群计算 2021-05-21 v1

摘要

在本文中,我们提出 ThundeRiNG,一种在 FPGA 上生成多路独立随机数序列(MISRN)的资源高效且高吞吐量的系统。在许多应用中,如数值计算和近似计算,生成 MISRN 可能是一个耗时的步骤。尽管数十年来关于在 FPGA 上生成单路随机数序列的研究已实现非常高的吞吐量和高质量的随机性,现有的 MISRN 方法要么面临严重的资源消耗问题,要么无法在序列间实现统计独立性。相比之下,ThundeRiNG 通过在多路序列间使用资源高效的去相关器来解决依赖性问题,保证了高统计质量的随机性。此外,ThundeRiNG 在 FPGA 上大量伪随机数生成器实例间开发了一种新颖的状态共享机制。实验结果表明,ThundeRiNG 成功通过了广泛使用的统计测试 TestU01,在生成任意数量序列时仅消耗恒定数量的 DSP(少于 FPGA 资源容量的 1%),并实现了每秒 6550 亿个随机数的吞吐量。与最先进的 GPU 库相比,ThundeRiNG 在 MISRN 上展示了 10.62×10.62\times 的加速,并在两个应用(π\pi 估计和蒙特卡洛期权定价)上实现了高达 9.15×9.15\times 的性能和 26.63×26.63\times 的功耗效率提升。本工作已在 Github 上开源:https://github.com/Xtra-Computing/ThundeRiNG

关键词

引用

@article{arxiv.2105.09578,
  title  = {ThundeRiNG: Generating Multiple Independent Random Number Sequences on FPGAs},
  author = {Hongshi Tan and Xinyu Chen and Yao Chen and Bingsheng He and Weng-Fai Wong},
  journal= {arXiv preprint arXiv:2105.09578},
  year   = {2021}
}

备注

Accepted to ICS 2021