我是 CUDA 的新手,我正在努力在内核中生成随机数。
我知道有不同的实现,而且,在 SDK 4.1 中有一个 Niederreiter 拟随机序列生成器的示例。
我不知道从哪里开始……我有点悲伤,感觉自己像个傻瓜……
有人可以制作一个使用 Niederreiter 拟随机序列生成器(SKD 代码示例)的简单而愚蠢的示例吗?我真的很感激。
例如,创建一个向量并用随机数填充它(每个线程填充一个向量位置)。
先感谢您。
SDK 中的 quasirandomGenerator 示例几乎可以满足您的要求,它占用一个内存区域并用准随机数填充它。
也就是说,我认为你最好使用 cuRAND,它是 Sobol' 而不是 Niederreiter,但除非你有特定原因更喜欢后者,否则你会发现它更容易使用。有关如何使用它的示例,您应该查看 MonteCarloCURAND 示例集:
- EstimatePiQ 展示了如何在 GPU 内存上分配一个区域并用 Sobol 数字填充它
- EstimatePiInlineQ 展示了如何在另一个内核中一次生成一个数字
以 P 结尾的样本使用伪随机生成器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)