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 数学库的更多信息: