2010-01-26 2 views
1

Моя проблема заключается в следующем:Бином Random Generator на мерном CUDA

Мне нужно создать много случайных числа параллельно с использованием биномиального распределения на CUDA. Все генераторы случайных чисел на CUDA основаны на равномерном распределении (насколько мне известно), что также полезно, поскольку для всех алгоритмов биномиального распространения необходимо использовать Uniform variates.

Есть ли библиотека или реализация для генерации биномиальных случайных чисел на CUDA? Я вижу, что для JAVA есть http://acs.lbl.gov/~hoschek/colt/, но он использует очень сложный алгоритм для параллелизации. Однако, учитывая биномиальную вариацию после B (N, p), существуют более простые алгоритмы с порядком сложности O (N), но для меня это плохо, потому что N может быть большим (около 2^32, максимум для целого).

Буду признателен за любую помощь. Большое спасибо. Miguel

PS: извините за мой плохой английский :)

ответ

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/