1

我的问题如下:

我需要在 CUDA 上使用二项分布并行生成大量随机数。CUDA 上的所有随机数生成器都基于均匀分布(据我所知),这也很有用,因为二项分布的所有算法都需要使用均匀变量。

在 CUDA 上是否有任何用于二项式随机变量生成的库或实现?我看到http://acs.lbl.gov/~hoschek/colt/中有 JAVA ,但它使用了非常复杂的算法进行并行化。但是,给定 B(N,p) 之后的二项式变量,存在复杂度为 O(N) 阶的更简单算法,但这对我不利,因为 N 可能很大(大约 2^32,整数的最大值)。

我将不胜感激任何帮助。非常感谢。米格尔

PS:对不起我的英语不好:)

4

1 回答 1

0

这是一个有趣的问题,我会通过使用以前的解决方案并使其适应 CUDA 的工作方式来解决这个问题。

CiteSeerX 是您可以获取 pdf 以进行可能有帮助的研究的地方.. http://citeseerx.ist.psu.edu/

你看过MDGPU吗?在 SO http://www-old.amolf.nl/~vanmeel/mdgpu/licence.html的另一个问题中提出了建议

NAG 也有一个可以帮助的库:http: //www.nag.co.uk/numeric/gpus/

于 2010-01-26T13:39:11.103 回答