views:

214

answers:

1

Hello,

My problem is the following:

I need to generate lot of random numbers in parallel using Binomial Distribution on CUDA. All the Random Number Generators on CUDA are based on the Uniform Distribution (as far I know), what is also useful since all the algorithms for Binomial Distribution needs to use Uniform variates.

Is there any library or implementation for binomial random variate generation on CUDA? I see that there are for JAVA in http://acs.lbl.gov/~hoschek/colt/ , but it uses a very complicated algorithm to be parallelized. However, given a binomial variate following B(N,p), there are simpler algorithms with order of complexity O(N), but it is bad for me because N can be large (around 2^32, maximum for a Integer).

I would appreciate any help. Thanks a lot. Miguel

P.S.: sorry for my bad english :)

A: 

That's an interesting problem, I would attack the problem by using a previous solution and adapting it to the way CUDA works..

CiteSeerX is where you can get hold of pdf's for research that might help.. http://citeseerx.ist.psu.edu/

Did you take a look at MDGPU? It was suggested in another question in SO http://www-old.amolf.nl/~vanmeel/mdgpu/licence.html

Also NAG have a library which may help: http://www.nag.co.uk/numeric/gpus/

Ezz