We have purchased a HP ML 350p G8 server and a GTX 680 to do some CUDA testing. Everything runs fine, except the bandwidth D->H or H->D is only pcie 2.0 speeds. (Running the standard bandwidthTest confirms this). We have tried both the 4.2 devdriver and the 5.0 preview devdriver. We are running RHEL 6.2
The output from lspci shows that the card is not being recognized / activated as a pcie 3.0 device:
For what its worth I’m having trouble getting PCIE 3.0 working on the Xeon E5 platform under Windows 7 too. In my case I’m using a Supermicro X9DR3-F motherboard and GTX 670 video cards.
So far I’ve discovered that you have to enable Gen3 for each PCIE slot individually in the BIOS and also that nVidia seems to be treating this platform as unvalidated (like the X79) which means that on Windows you need to make a change to the registry. There might be a similar change you can make on Linux or you may just be stuck. Finally, I’ve found that the Supermicro X9DR3-F is currently unstable when running these video cards in Gen3 mode. This might be a problem with the current BIOS or with the motherboard hardware or it might be a problem with the platform in general.
I’ll let you know if I find anything. The HP bios does not have any settings that relate to PCIE except for one that doesn’t appear to have any affect on 2 vs 3. We do have some other cards showing as 8GT/s so I suspect we’re getting the run around from the Nvidia driver, which is beyond frustrating.
Need to find out if there’s something like the registry hack for the nvidia linux driver.
I was about to post a new thread on this. It appears that NVIDIA has disabled PCI-E 3.0 support in drivers post 295.33 including the latest 302.07 BETA driver. I am running a CUDA app on an x79 board with three GTX 680s and ran into this limitation. The application I am running is as much as 27% slower set at PCI-E 2.0 5 GT/s compared to running natively at PCI-E 3.0 8 GT/s.
I find this to be extremely frustrating as I am now stuck using an older driver until this issue is resolved. This also limits my options on buying any newer cards post GTX 680. A main reason I bought your Kepler products is because of PCI-E 3.0 support.
NVIDIA, can you please re-enable PCI-E 3.0 support in your latest Linux driver? At the very least, can you give us an option to enable PCI-E 3.0 when loading the kernel module? For example something like this:
modprobe nvidia ENABLE_PCI3=1
Also, please do not make this an nvidia-settings only option as I am not running X11 and that program is useless to me and probably many other people that are running CUDA in the shell only. Please help us with this issue. Thanks.
That is a Windows program that sets a value in the registry. We need something like this compiled for running on Linux that will set the link speed to 8 GT/s or an argument that can be added to the kernel module for the nvidia driver.
Sorry for resurrecting this old thread, but I had been looking for a solution myself and stumbled upon many unanswered questions. The solutions suggested here didn’t work.
I had found your post and tried it but it didn’t work for me on Ubuntu 16.04. The only thing that worked was setting the module option via a file in modprobe.d/ and the issuing update-initramfs