学生新人,遇到点问题,想向各位请教下。我们在华硕P8Z77 Pro主板上安装了一块GTX690的显卡,系统配置为win7_32位,内存为4G。安装系统后装上CUDA5.0,用其自带的示例程序测试了下由计算机内存(pinned memory)向显存传输数据时带宽只有3.2GB/s左右。我师兄用的是和我们一样的主板显存,但他们测试带宽最高能到10GB/s(XP64位,内存为16G,我们的是win7_32位,4G内存)。我想知道到底哪些因素会影响由计算机内存到显存的传输带宽?
LZ您好:
您测试的速度实际上受到3个因素的影响,分别是内存速度,pci-e总线速度和显存速度。这三个速度中,intel 酷睿处理器配合Z77开启双通道的情况下,内存速度大约在20GB/S以上;您的690显卡的显存速度更是远远超过这个速度。
所以,实际上是pci-e总线制约着您的传输速度。
考虑到您应该是安装了IVY Bridge核心的处理器,那么pci-e可以泡在3.0的速率上,可以获得每lane 800MB/s的速度,那么16X lanes的聚合速度为800*16=12.8GB/s的理论传输速度。考虑到实际的一些开销,您师兄测试出来的传输速度是比较接近理想速度的。
至于您的机器为何没有跑到理想的速度,这个我无法直言断定。
可能的问题包括但不限于:
1:您的pci-e总线速度不正确,比如您的总线速度如果跑在pci-e 1.1的速率上,那么16X的速度为16*200MB/s=3.2GB/s,一般地您可以在您的BIOS中查看pci-e速度设定。
2:您插得pci-e插槽不正确,比如您没有插在全速(16X)的pci-e插槽上,而是插在了8X的插槽并运行在pci-e 2.0的速率下,或者是4X的插槽并运行在pci-e 3.0的速率下(一些Z77主板支持8+4+4拆分CPU提供的16个lanes)。很多插槽看上去是16X的,但是实际电气特性是8X或者4X的,您可以核对一下您的主板手册,看看是否插在了全速的pci-e插槽上,以及您是否只插了一块显卡,因为双8X的主板一般在第二个8X插槽被占用的时候,主pci-e插槽也会变成8X。
3:如果上述两条均无问题,而且您的显卡供电亦无问题,您还可以尝试更换一下驱动程序版本,再做测试。
如果上述建议均无效,请您再具体反馈一下,以便常驻论坛的NV原厂支持协助您进一步解决问题。
祝您好运~
不好意思回复错了。
[
非常感谢您的回复,我们对您提出的意见进行了确认发现您所提到的3个问题我们都有纠正。BIOS中我们已经将PCI-E的速度设定为Gen3,显卡也确实插在了16×PCI-e插槽上此插槽在单显卡模式下工作在×16的速率下,最后显卡供电由900W的金战神电源供应,应该不会有问题。我现在把我们系统的详细配置以及我们测试结果贴出来,希望再麻烦您给看一看会不会是主板的问题(PCI-E插槽?)或者显卡的问题。或者说我们要想得到帮助还需要提供那些详细信息,再次表示感谢。
系统配置如下,
操作系统 :WIN7 32位
CPU :i7-3700s@3.10GHz
内存 :4GB(3.21GB可用)
主板 :ASUS P8Z77-V Pro
主板插槽 :PCI-E3.0/2.0 ×16 3个
PCI-E2.0 ×1 2个
显卡 :NVIDIA GEFORCE GTX 690 一张
显卡所在插槽:PCI-E3.0/2.0 ×16_1(单显卡设置工作在×16速率下,BIOS设置为Gen3速率)
bendwidth test结果,
[CUDA Bandwidth Test] - Starting…
Running on…
Device 0: GeForce GTX 690
Quick Mode
Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 3222.4
Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 3206.0
Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 16016.7
另一台机器系统配置及带宽测试结果:
系统配置如下,
操作系统 :WINXP 32位
CPU :i7-3700s@3.10GHz
内存 :4GB(3.21GB可用)
主板 :ASUS P8Z77-V
主板插槽 :PCI-E3.0/2.0 ×16 3个
PCI-E2.0 ×1 2个
显卡 :NVIDIA GEFORCE GTX 690 一张
显卡所在插槽:PCI-E3.0/2.0 ×16_1(单显卡设置工作在×16速率下,BIOS设置为Gen3速率)
bendwidth test结果,
[CUDA Bandwidth Test] - Starting…
Running on…
Device 0: GeForce GTX 690
Quick Mode
Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 11451.7
Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 11771.1
Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 149602.1
[
LZ您好:
如果前面2#的各项建议您都检查过的话,那么似乎确实没有其他什么好办法了。
以及,刚才去华硕的网站看了贵主板的介绍,您的主板上有3个可以插显卡的pci-e 16X(机械尺寸16X)的插槽,颜色分别为蓝色,白色和黑色。请将您的显卡插在蓝色的插槽上(离CPU最近的插槽,如果已经在这里了,请无视这半句。),并保证白色和黑色插槽上无其他显卡或者其他pci-e的扩展卡。
目前只想到这个。
以及,如果您方便的话,请提供一下GPU-Z这个软件的截图。
祝您好运~
修正一下:那个黑色的pci-e 插槽是芯片组提供的pci-e 2.0速率的4X速度的插槽,这个插槽上可以有其他设备,并不影响白色和蓝色的插槽。
但白色的插槽上如果有设备,那么蓝色插槽立即会被分去一半lanes。