【发布时间】:2013-05-18 12:47:11
【问题描述】:
我尝试使用 nvidia 发布的代码并进行内存带宽测试,但得到了一些令人惊讶的结果
使用的程序在这里:https://developer.nvidia.com/content/how-optimize-data-transfers-cuda-cc
在桌面上(使用 MacOS)
Device: GeForce GT 650M
Transfer size (MB): 16
Pageable transfers
Host to Device bandwidth (GB/s): 4.053219
Device to Host bandwidth (GB/s): 5.707841
Pinned transfers
Host to Device bandwidth (GB/s): 6.346621
Device to Host bandwidth (GB/s): 6.493052
在 Linux 服务器上:
Device: Tesla K20c
Transfer size (MB): 16
Pageable transfers
Host to Device bandwidth (GB/s): 1.482011
Device to Host bandwidth (GB/s): 1.621912
Pinned transfers
Host to Device bandwidth (GB/s): 1.480442
Device to Host bandwidth (GB/s): 1.667752
顺便说一句,我没有root权限..
我不知道为什么它在特斯拉设备上更少.. 谁能指出原因是什么?
【问题讨论】:
-
您能否提供更多有关您的软件(CUDA 版本、驱动程序版本)的信息?我的笔记本电脑上有相同的 GT 650M GPU,但测试程序返回的带宽对我来说要高得多(分别为
~6.5和~10.4GB/s)。我使用 CUDA 5.0、Linux 64 位、驱动程序 319.17 对此进行了测试。 -
GT 650M 也可以使用 DDR3 或 GDDR5,这很重要。
-
CUDA 版本都是 CUDA 5.0,都是 64 位系统。@BenC 我的问题不在于 GT 650M.. 而在于 Tesla k20c.. 我不明白为什么会这样比 GT 650M 慢?
-
我的观点是,除了硬件规格之外,可能还有其他原因,即使这些起主要作用。
-
带宽可能受到可用/连接的 PCIe 通道的限制。这些可以通过
lspci -vv进行检查。请参阅this 问题。