CUDA上的二项式随机变量发生器

时间:2010-01-26 10:04:07

标签: random cuda

我的问题如下:

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

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

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

P.S。:对不起我糟糕的英语:)

1 个答案:

答案 0 :(得分: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/