How fast are new drivers from old CUDA 2.0 drivers ?

So my professor still has CUDA 2.0 + with those old drivers, installed in the lab machine he asked me if CUDA 2.3 with new nvidia drivers is faster than CUDA 2.0 with older drivers (7 months old) … do the kernels run faster ? by how much ? …

cause I told him to upgrade it but he seems he is not interested if the performance improvement is not there…

as when last we upgraded the nvidia drivers the system we had a bad day :thumbsdown: the whole X server crashed :wacko:

so please if anyone can let me know some numbers ?

also can people suggest a safe way to upgrade “nvidia drivers”? . . there two nvidia cards in the machine one is a quadro for X and other is the TESLA C1060 for computation…

thanks all

It varies from kernel to kernel based on what the optimizer does, so I cannot guarantee that you will see the same performance boosts. But I can tell you that HOOMD is about 15-20% faster under CUDA 2.3 compared to CUDA 2.0.

Significant driver optimizations have also been made (in linux at least) to reduce PCIe latency. Any latency dependent operations (i.e. copying a single float host <-> device) is significantly faster with CUDA 2.3.

Honestly, there is no reason not to upgrade. There are tons of new features to use, everything is even more stable than it used to be, and it only takes ~5 min to do the upgrade. Why waste the time debating, just get it done and be done with it.

Yes You arevery right… that HOOMD performance boost is enough for me to convince him.

I was wondering if I can update the drivers remotely , if so how ( can you guide me on this as I don’t want another crashed X )? I do have sudo access to the machine.

thanks again

Well, a valid reason could be that you can’t simply update your Linux distro (say, Suse 10.3 to the required Suse 11.1) for one reason or another. I am a little disappointed that the nVidia driver support for Suse seems to be focused on the very latest release most of the time.

Luckily for me, upgrade from 10.3 to 11.1 went smoothly on the two machines I’ve tried it on. But it’s still a major thing to do.


I have a cluster that for some reason still runs OpenSuSE 10.2 with the 2.0 toolkit and driver. I occasionally hijack a colleague’s workstation that runs 2.3. Same 8800 GTX board everywhere. While I do see differences in microbenchmarks (in particular, CUBLAS reductions like snrm2 and sdot seem to have received quite some attention in tuning), I do not see any significant difference at the application level. The newer drivers don’t simply invent more bandwidth, most of my dominant kernels are very close to peak already.

But all this means nothing: There is no compelling reason not to upgrade. Except that reinstalling older machines takes some time. Which is why our admins have not yet upgraded my cluster to a newer distro: 100s of scripts need to be manually patched that affect our entire department. I want to be promoted to root in a future life ;)

Older drivers do tend to produce code which uses fewer registers. This can affect kernels when the increased register use pushes them over a kernel resource limit, especially on device 1.0 and 1.1 GPUs.

Not a fatal problem, but one to be aware of. The extra register use in later toolkits tends to come with execution speedups, though, so it’s a win unless you hit those register limits.

Hmm I see, thanks for all the info.

Makes sense, most of the time am doing double precision kernel development. Hence my kernels almost always suffer from low multiprocessor occupancy due to high register usage. But still I guess we will upgrade the drivers and the sdk.

I just want to know if there is a “standard” SAFE way to upgrade the drivers ?

thanks all