cuRAND
NVIDIA GPU 上的随机数生成
NVIDIA CUDA 随机数生成库 (cuRAND) 可提供高性能 GPU 加速随机数生成 (RNG) 。使用 NVIDIA GPU 中提供的数百个处理器核心,cuRAND 库提供高质量随机数的速度提高了 8 倍。cuRAND 库包含在 NVIDIA HPC SDK 以及 CUDA 工具包。
探索新版本中的新功能 … …。查看最新 CUDA 性能报告了解可以在多大程度上加速您的代码。
cuRAND 性能
cuRAND 还提供两个灵活的接口,允许您从 CPU 上运行的主机代码或 GPU 上运行的 CUDA 函数/ 核函数中批量生成随机数。各种 RNG 算法和分布选项意味着您可以根据自己的需求选择最佳解决方案。
cuRAND 主要特性
-
灵活的使用模式
- 用于在 GPU 上批量生成随机数的主机 API
- 内联实现允许在 GPU 函数/ 内核或您的主机代码中使用
-
四种高质量 RNG 算法
- MRG32k3a
- MTGP Merseinne Twister
- XORWOW 伪随机生成
- Sobol 的准随机数生成器,包括对混乱和 64 位 RNG 的支持
-
多个 RNG 分发选项
- 均匀分布
- 正态分布
- 对数正态分布
- 单精度或双精度
- 泊松分布
cuRAND 库中提供的随机数生成器和统计分布已经过包括 TestUO1 在内的知名统计测试电池的测试。请参阅 cuRAND 文档,了解所选测试结果。
cuRAND 可用性
cuRAND 库作为 NVIDIA HPC SDK。它还包含在 CUDA 工具包中。
有关 cuRAND 和其他 CUDA 数学库的更多信息: