gpt4 book ai didi

cuda - CUDA SDK 带宽测试的奇怪结果

转载 作者:行者123 更新时间:2023-12-04 05:28:39 29 4
gpt4 key购买 nike

我有一个受数据移动限制的 CUDA 应用程序(即从主机到设备的大型内存副本,在内核中完成的计算相对较少)。在较旧的 GPU 上,我受计算限制(例如 QUADRO FX 5800),但对于 Fermi 和 Kepler 架构,情况不再如此(对于我的优化代码)。

我刚刚将我的代码移到了 GTX 680,并且对计算性能的提高印象深刻,但对主机和 GPU 之间的带宽似乎已经下降(相对于我的 Fermi M20270)感到困惑。

简而言之,当我运行 jar 装 SDK 带宽测试时,我在 GTX 680 上获得约 5000 MB/秒,而在 M2070 上获得约 5700 MB/秒。我承认 GTX 只是“一张游戏卡”,但 GTX 680 的规范似乎比 M2070 更令人印象深刻,但总线宽度除外。

来自维基百科:
M2070:102.4 GB/秒,GDDR3,512 位总线宽度
GTX 680:192 GB/秒,GDDR5,256 位总线宽度

我正在使用“--wc --memory=pinned”运行预设测试以使用写入组合内存。

我通过此测试获得的改进结果反射(reflect)了我使用优化的 CUDA 代码获得的结果。

不幸的是,我无法在同一台机器上运行测试(只能切换显卡),但我已经在旧机器和新机器上尝试了 GTX 680,并得到了相同的“降级”结果(相对于我在 M2070 上得到的结果) )。

谁能确认他们能够使用 M2070 Quadro 实现比 GTX 680 更高的内存副本吞吐量?带宽规范没有考虑总线宽度吗?另一种可能性是我在 GTX 680 上没有正确/最佳地进行内存复制,但在这种情况下,是否有用于带宽测试的补丁,这样它也会显示我将数据传输到 680 的速度比到M2070?

谢谢。

最佳答案

正如 Robert Crovella 已经评论的那样,您的瓶颈是 PCIe 带宽,而不是 GPU 内存带宽。

您的 GTX 680 可能比 M2070 的性能高出两倍,因为它支持 PCIe 3.0,这使 M2070 的 PCIe 2.0 接口(interface)的带宽增加了一倍。但是,您需要一个支持 PCIe 3.0 的主板。

GPU 内存的总线宽度本身并不是一个问题,即使对于受 GPU 内存带宽限制的程序也是如此。 Nvidia 设法大幅提高了 GTX 680 内存总线上使用的频率,这足以弥补相对于 M2070 减少的总线宽度。

关于cuda - CUDA SDK 带宽测试的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12899068/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com