我想听听有两种编码经验的人的意见。就我个人而言,我只有 NVIDIA 的经验。
NVIDIA CUDA 似乎比竞争对手更受欢迎。 (仅计算本论坛上的问题标签,'cuda' 的性能优于 'opencl' 3:1,'nvidia' 的性能优于 'ati' 15:1,而且根本没有 'ati-stream' 的标签)。
另一方面,根据维基百科,ATI/AMD 卡应该有更大的潜力,尤其是每美元。迄今为止,市场上最快的 NVIDIA 显卡 GeForce 580(500 美元)的额定值为 1.6 单精度 TFlops。 AMD Radeon 6970 售价 370 美元,额定值为 2.7 TFlops。 580 有 512 个执行单元,频率为 772 MHz。 6970 有 1536 个执行单元,频率为 880 MHz。
AMD 相对于 NVIDIA 的纸面优势有多现实,是否有可能在大多数 GPGPU 任务中实现?整数任务会发生什么?
最佳答案
比喻来说,与 nvidia 相比,ati 有一个很好的引擎。
但是 nvidia 有更好的车 :D
这主要是因为英伟达投入了大量资源(金钱和人力)来开发科学计算所需的重要库(BLAS、FFT),然后又在推广方面做得很好。这可能是 CUDA 与 ati(或 OpenCL)相比在这里主导标签的原因
至于一般在 GPGPU 任务中实现的优势,它最终将取决于其他问题(取决于应用程序),例如内存传输带宽、良好的编译器,甚至可能是驱动程序。 nvidia 有一个更成熟的编译器,一个更稳定的 linux 驱动程序(linux 因为它在科学计算中被广泛使用),倾向于 CUDA(至少现在是这样)。
编辑 2013 年 1 月 12 日
自从我发这个帖子已经两年了,它似乎仍然有时会吸引观众。所以我决定澄清一些事情
简而言之,OpenCL 在过去两年中缩小了差距。该领域有新玩家。但是 CUDA 仍然有点领先。
关于cuda - NVIDIA 与 AMD : GPGPU performance,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4638324/