我在 Ubuntu Linux 集群上运行了分子动力学 (MD) 代码GROMACS,该集群由包含 24 个 Intel Xeon CPU 的节点组成。我特别感兴趣的是对浮点算术精度有点敏感,所以我不得不以双精度而不是单精度运行 GROMACS——尽管双精度的计算成本更高。所以在集群上,我以双精度编译了 GROMACS。
我正在考虑购买一些 GPU,因为与 CPU 相比可能存在相对加速(“GPU 加速”)。但是,我需要一个允许我进行双精度运算的 GPU。你知道这样的硬件是否可以买到吗?GROMACS 邮件列表上最近的一篇文章表明,双精度 GPU 尚未商用:
硬件还不支持它[双精度算术] AFAIK。
这个Wikipedia 页面似乎暗示双精度 GPU 并不常见,因为它们可能效率低下:
Nvidia GPU 上的浮点实现大多符合 IEEE;但是,并非所有供应商都如此。这对被认为对某些科学应用很重要的正确性有影响。虽然 64 位浮点值(双精度浮点)通常在 CPU 上可用,但这些在 GPU 上并不普遍支持;一些 GPU 架构牺牲了 IEEE 合规性,而另一些则完全缺乏双精度。一直在努力在 GPU 上模拟双精度浮点值。然而,速度权衡首先否定了将计算卸载到 GPU 上的任何好处。
这个NVIDIA Tesla 页面在引用图表中的“峰值双精度浮点性能”时,似乎表明实际上可以在其 GPU 上完成双精度计算(尽管计算成本更高)。
那么,我应该相信什么?你有这个问题的经验吗?