NVIDIA GPU上的随机数生成
NVIDIA GPU上的隨機數(shù)生成
NVIDIA CUDA隨機數(shù)生成庫(cuRAND)提供高性能的GPU加速的隨機數(shù)生成(RNG)。cuRAND庫使用NVIDIA GPU中提供的數(shù)百個處理器內(nèi)核,將質(zhì)量隨機數(shù)提高了8倍。cuRAND庫包含在NVIDIA HPC SDK和CUDA Toolkit中。
cuRAND性能
cuRAND還提供兩個靈活的接口,使您可以從CPU上運行的主機代碼或GPU上運行的CUDA函數(shù)/內(nèi)核中批量生成隨機數(shù)。多種RNG算法和分發(fā)選項意味著可以根據(jù)需要選擇最佳解決方案。
cuRAND主要特點
? 靈活的使用模式
o 主機API,用于在GPU上批量生成隨機數(shù)
o 內(nèi)聯(lián)實現(xiàn)允許在GPU函數(shù)/內(nèi)核內(nèi)部或主機代碼中使用
? 四種高質(zhì)量的RNG算法
o MRG32k3a
o MTGP梅賽因捻線機Merseinne Twister
o XORWOW偽隨機生成
o Sobol的準隨機數(shù)生成器,包括對加擾和64位RNG的支持
? 多種RNG分發(fā)選項
o 均勻分布
o 正態(tài)分布
o 對數(shù)正態(tài)分布
o 單精度或雙精度
o 泊松分布
cuRAND庫中提供的隨機數(shù)生成器和統(tǒng)計分布已針對包括TestUO1在內(nèi)的著名統(tǒng)計測試電池進行了測試。請參閱cuRAND文檔以獲取選定的測試結(jié)果。
cuRAND可用性
cuRAND庫可作為NVIDIA HPC SDK的一部分免費提供 。它也包含在CUDA工具包中。
有關(guān)cuRAND和其他CUDA數(shù)學(xué)庫的更多信息:
? 演示如何使用cuRAND庫的源代碼示例:
o CUDA C蒙特卡洛:單一亞洲選項
o CUDA C蒙特卡洛(Pi)估計(批次QRNG)
o CUDA C Pi的蒙特卡洛估計(PRNG批次)
o CUDA C Pi的蒙特卡洛估計(批量內(nèi)聯(lián)QRNG)
o CUDA C Pi的蒙特卡洛估計(在線PRNG)
? 其他GPU加速庫
總結(jié)
以上是生活随笔為你收集整理的NVIDIA GPU上的随机数生成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NVIDIA GPU上的直接线性求解器
- 下一篇: CUDA数学库