【发布时间】:2011-04-15 16:54:26
【问题描述】:
什么是用于 cuda 开发的最佳 nvidia 显卡。单个 GTX 295 有 2 个 GPU,是否可以有 2 个 GTX 295 并在我的 cuda 代码中使用 4 个 GPU?
两张480卡比两张295更好吗?费米会比两张卡都好吗?
【问题讨论】:
什么是用于 cuda 开发的最佳 nvidia 显卡。单个 GTX 295 有 2 个 GPU,是否可以有 2 个 GTX 295 并在我的 cuda 代码中使用 4 个 GPU?
两张480卡比两张295更好吗?费米会比两张卡都好吗?
【问题讨论】:
什么是用于 cuda 开发的最佳 nvidia 显卡。
只要符合您的预算并满足您的需求。我知道这有点含糊,但毕竟它真的就这么简单;)
单个 GTX 295 有 2 个 GPU,是否可以有 2 个 GTX 295 并在我的 cuda 代码中使用 4 个 GPU?
当然可以。唯一的缺点是 GTX 295 上的 2 个 GPU 共享一个 PCI。这是否与您相关取决于应用程序是否需要与主机进行密集通信。
两张 480 卡比两张 295 更好吗?费米会比两张卡都好吗?
从原始峰值性能的角度来看,GTX 295(几乎是 GTX 280 的 2 倍,不考虑共享 PCI)优于 480。但是与 GT200 相比,GF10x 系列架构在很多方面都有所改进,例如详情见"Fermi whitepaper" 和"Fermi Tuning Guide"。
如果您打算使用双精度,GF10x 系列对双精度的支持有了很大改进,但很高兴知道 GeForce 卡上这限制为单精度性能的 1/8(通常约为一半)
因此,我建议除非您有充分的理由以即将过时的硬件形式获得大量 GFlops(Folding@Home?),否则如果您想节省约 25 美元,请购买 GTX 480 或 470 %。
【讨论】:
直接回答:我会选择一台或两台 GTX 480。但我认为我的推理与@bobince 或@pszilard 有点不同。
背景:我刚刚做出了与您相同的决定,但我们的情况可能大不相同。
我是一个统计系的研究生,在 gpu 计算资源方面的资金很少,校园确实有一个费米盒连接到我可以访问的两个节点。但是这些都是在 linux 中的——我喜欢它——但我真的想使用 nSight 来基准测试和调整我的代码,所以我需要 windows——所以我决定购买一个我双启动的开发盒,Ubuntu x64 用于生产运行和 Win 7 与 VS 2010 (a battle which I'm presently fighting) 和 nSight 1.5 用于开发。也就是说,回到我买两个 GTX 480(EVGA 太棒了!!)而不是两个 GTX 285 或 295 的原因。
过去两年我一直在开发几个 CUDA 内核。对我来说,开发中最棘手的部分是内存管理。我花了三个月的大部分时间试图将 Cholesky 分解和反向替换压缩到 16 个单精度寄存器中——在 GTX 285 或 295 导致 50% 的性能损失之前你可以使用的最大值(从 17 到 3 周)到 16 个寄存器)。对我来说,所有 Fermi 架构都有双倍的寄存器这一事实意味着这三个月将让我在 GTX 480 上获得大约 10% 的改进,而不是 GTX 285 上的 50%,因此,可能不值得我花时间 - 事实上比这更微妙一点,但你明白了。
如果您是 CUDA 的新手——因为您问过这个问题,您可能是新手——我会说 32 个寄存器是巨大的。其次,我认为 Fermi 架构的 L1 缓存可以直接转化为更快的全局内存访问——当然可以,但我还没有直接测量过影响。如果您不需要那么多全局内存,您可以将更大的 L1 缓存换成三倍的共享内存——随着矩阵大小的增加,这对我来说也是一个紧张的挤压。
那么我同意@pszilard 的观点,如果您需要双精度,Fermi 绝对是最佳选择——尽管我仍然会先以单精度编写您的代码,对其进行调整,然后迁移到双精度。
我认为并发内核执行对你来说并不重要——这真的很酷,内核完成的延迟可以少几个数量级——但你可能会首先关注一个内核,而不是并行内核。如果你想做流式或并行内核,那么你需要 Fermi——285 / 295 根本做不到。
最后,使用 295 的缺点是您必须编写两层并行性:(1) 一层用于在卡上分配块(或内核?),以及 (2) gpu 内核本身。 如果您刚刚开始,与同时进行两场战斗相比,将并行性保持在一个位置(在一张卡上)要容易得多。
附言。如果您还没有编写内核,您可能会考虑只购买一张卡并等待六个月,看看情况是否会再次发生变化——尽管我不知道下一张卡什么时候发布。
PP。我非常喜欢在我在 Tesla C1070 上调试/设计的 GTX 480 上运行我的 cuda 内核,并立即实现了 2 倍的速度提升。钱花得值。
【讨论】:
是否可以在我的 cuda 代码中使用 2 个 GTX 295 并使用 4 个 GPU?
是的。或者四边形,如果你完全疯了的话。
买两张 480 卡比买两张 295 更好吗?
有争议。 295 作为双 GPU 的原始魅力略高,但 480 作为 40nm 工艺卡而没有双 GPU 开销可能会更好地利用其资源。基准有所不同。当然,Fermi 4xx 系列具有更现代的功能支持(3D、DirectX、OpenCL 等)。
但双 295 将有非常巨大的 PSU 和冷却要求。双 480 几乎一样热。更别提花销了。你在做什么,你认为你会需要这个?您是否考虑过更主流的部件,例如 460,通常认为它比陷入困境的 470–480 (GF100) 部件具有更好的性价比?
【讨论】: