我想听听有两种编码经验的人的意见。就我个人而言,我只有 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 日

自从我发这个帖子已经两年了,它似乎仍然有时会吸引观众。所以我决定澄清一些事情

  • AMD 加强了他们的游戏。他们现在拥有 BLAS 和 FFT 库。许多第三方库也围绕 OpenCL 涌现。
  • Intel 已将 Xeon Phi 引入野外,支持 OpenMP 和 OpenCL。它还具有使用现有 x86 代码的能力。如评论中所述,目前限制 x86 没有 SSE
  • NVIDIA 和 CUDA 在可用库的范围内仍然具有优势。然而,他们可能不像以前那样专注于 OpenCL。

  • 简而言之,OpenCL 在过去两年中缩小了差距。该领域有新玩家。但是 CUDA 仍然有点领先。

    关于cuda - NVIDIA 与 AMD : GPGPU performance,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4638324/

    10-13 06:18