NVIDIA GPU上的随机数生成

NVIDIA GPU上的随机数生成

NVIDIA CUDA随机数生成库(cuRAND)提供高性能的GPU加速的随机数生成(RNG)。cuRAND库使用NVIDIA GPU中提供的数百个处理器内核,将质量随机数提高了8倍。cuRAND库包含在NVIDIA HPC SDKCUDA Toolkit中

cuRAND性能

cuRAND还提供两个灵活的接口,使您可以从CPU上运行的主机代码或GPU上运行的CUDA函数/内核中批量生成随机数。多种RNG算法和分发选项意味着可以根据需要选择最佳解决方案。

cuRAND主要特点

  • 灵活的使用模式
    • 主机API,用于在GPU上批量生成随机数
    • 内联实现允许在GPU函数/内核内部或主机代码中使用
  • 四种高质量的RNG算法
    • MRG32k3a
    • MTGP梅赛因捻线机Merseinne Twister
    • XORWOW伪随机生成
    • Sobol的准随机数生成器,包括对加扰和64位RNG的支持
  • 多种RNG分发选项
    • 均匀分布
    • 正态分布
    • 对数正态分布
    • 单精度或双精度
    • 泊松分布

 

 

 cuRAND库中提供的随机数生成器和统计分布已针对包括TestUO1在内的著名统计测试电池进行了测试。请参阅cuRAND文档以获取选定的测试结果。

cuRAND可用性

cuRAND库可作为NVIDIA HPC SDK的一部分免费提供 。它也包含在CUDA工具包中
有关cuRAND和其他CUDA数学库的更多信息:

 

 

 

posted @ 2021-02-20 08:02  吴建明wujianming  阅读(484)  评论(0编辑  收藏  举报