我必须使用蒙特卡洛算法在 GPU 上进行期权定价。我有两个选择:一个是 NVIDIA GPU 上的 CUDA,另一个是 OpenCL。我很困惑我应该使用哪个 API。我知道与 CUDA 相比,OpenCl 的开发可能需要更多时间,但由于我更关心性能,我想知道我应该走哪条路,为什么?
gpuguy
问问题
239 次
1 回答
3
CUDA 和 OpenCL 是用于编程 GPU 的两个不同平台。OpenCL 是异构平台(如 Cpu、Gpu 等)的开放标准,而 CUDA 是特定于NVIDIA GPU的。作为工程经验法则,如果您想要可移植性,请继续使用 OpenCL。如果您想要性能,请继续使用 CUDA。
您可以在以下参考资料中找到有关其性能的更多信息:
- Coding Gorilla博客:它展示了一些示例应用程序的两个平台的性能。
- CUDA 和 OpenCL 的综合性能比较,作者 Jianbin Fang 等。人。根据他们的研究,CUDA 的性能似乎最多比 OpenCL 好 30%。
于 2013-02-20T23:09:20.100 回答