0

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

1-生成随机编号。在 GPU 上并在内核中使用

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

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

我如何决定哪个是最好的?有什么通用的指导方针吗?

4

1 回答 1

2

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

选择 2 的性能相对较差。该图显示了 GPU 和 CPU 在随机数生成方面的性能差距。

cuRAND 与 MKL

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

详情请参考 cuRAND 主页和文档。

https://developer.nvidia.com/curand

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

于 2013-10-09T10:34:24.793 回答