Random 基于CUDA的二项式随机变量发生器

Random 基于CUDA的二项式随机变量发生器,random,cuda,Random,Cuda,我的问题如下: 我需要在CUDA上使用二项式分布并行生成大量随机数。CUDA上的所有随机数生成器都基于均匀分布(据我所知),这一点也很有用,因为所有二项分布算法都需要使用均匀变量 CUDA上是否有生成二项式随机变量的库或实现?我看到在中有JAVA,但它使用了一个非常复杂的并行算法。然而,如果在B(N,p)之后有一个二项式变量,则有复杂度为O(N)的简单算法,但这对我来说是不好的,因为N可能很大(大约2^32,整数的最大值) 我将感谢任何帮助。谢谢。 米格尔 注:很抱歉我的英语不好:)这是一个有趣

我的问题如下:

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

CUDA上是否有生成二项式随机变量的库或实现?我看到在中有JAVA,但它使用了一个非常复杂的并行算法。然而,如果在B(N,p)之后有一个二项式变量,则有复杂度为O(N)的简单算法,但这对我来说是不好的,因为N可能很大(大约2^32,整数的最大值)

我将感谢任何帮助。谢谢。 米格尔


注:很抱歉我的英语不好:)

这是一个有趣的问题,我会使用以前的解决方案并根据CUDA的工作方式来解决这个问题

CiteSerx是你可以获得pdf的地方,用于可能有帮助的研究。。

你看过MDGPU了吗?有人在SO的另一个问题中提出

NAG还有一个库,可以帮助: