随机无代Vs在内核中散列

时间:2013-10-09 09:35:36

标签: cuda gpu gpgpu nvidia

关于一些随机的没有。我有以下选择:

1-生成随机数。在GPU上和在内核中使用

2-生成随机数。在CPU上并通过PCI-e发送内核

3-使用内核中编写的哈希函数生成随机数

我如何决定哪一个最好?任何一般准则?

1 个答案:

答案 0 :(得分:2)

选择1应该是最好的。 CUDA提供cuRAND库来生成各种分布的随机数。它旨在获得最佳性能。

选择2的表现相对较差。该图显示了随机数生成时GPU和CPU之间的性能差距。

cuRAND v.s. MKL

选择3是不必要的,因为您正尝试使用此方法重新实现cuRAND库。

有关详细信息,请参阅cuRAND主页和doc。

https://developer.nvidia.com/curand

http://docs.nvidia.com/cuda/curand/index.html