我有兴趣在一些新技术下进行开发,我正在考虑尝试 CUDA。现在......他们的文档技术性太强,没有提供我正在寻找的答案。另外,我想听听那些已经对 CUDA 有一定经验的人的回答。
基本上我的问题是标题中的问题:
What exactly IS CUDA? (is it a framework? Or an API? What?)
What is it for? (is there something more than just programming to the GPU?)
What is it like?
What are the benefits of programming against CUDA instead of programming to the CPU?
What is a good place to start programming with CUDA?
最佳答案
CUDA 汇集了几样东西:
CUDA 的重点是编写可以在兼容的大规模并行 SIMD 架构上运行的代码:这包括几种 GPU 类型以及非 GPU 硬件,例如 nVidia Tesla。大规模并行硬件每秒可以运行比 CPU 多得多的操作,而财务成本相当相似,在允许的情况下可实现 50 倍或更多的性能提升。
与早期方法相比,CUDA 的一个好处是可以使用通用语言,而不必使用像素和顶点着色器来模拟通用计算机。该语言基于 C 语言,并带有一些额外的关键字和概念,这使得非 GPU 程序员很容易上手。
这也是 nVidia 愿意在其硬件上支持通用并行化的一个迹象:现在听起来不像是“用 GPU 乱搞”,而更像是“使用供应商支持的技术”,这使得它更容易被采用非技术利益相关者。
要开始使用 CUDA,请下载 SDK,阅读手册(说真的,如果您已经了解 C,这并不复杂)并购买与 CUDA 兼容的硬件(您可以先使用模拟器,但性能是最终点,它是如果您可以实际尝试您的代码,那就更好了)
关于cuda - CUDA 是什么样的?它是干什么用的?有什么好处?以及如何开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5211746/