Feb 24, 2012

Graphics on a Tesla C2070

By default, an Nvidia Tesla C20XX card is configured to run as a high performance multithreaded coprocessor.  You can use it to run CUDA and OpenCL programs, but it doesn't show up as an actual graphics card.  If you hook up a display to it, the display runs with Microsoft's vgasave driver, and does not show up as a DirectX device.

I spent pretty much an entire day trying to figure out how to get it to run as a graphics card.  In the back of my mind, I knew I had done it before, but just couldn't remember how.  I spent ages on live chat with Nvidia customer support.  I knew better than to trust first line support, and they were indeed a waste of time.  I eventually eked the memory back into existence.

In the driver install folder (typically C:\Program Files\NVIDIA Corporation\NVSMI" run the command "nvidia-smi -dm 0".  This sets the driver to run in graphics mode, treating your Tesla card as a graphics card.

There's a number of reasons NVIDIA has two separate driver modes.  Graphics processing tasks have a maximum time limit of 2 seconds, after which Windows thinks the GPU has hung, and resets it.  If you have some high performance task running, say a raytracing operation that takes a minute, this may fail.  Running in a pure compute mode avoids this problem, but also disables the card from appearing as a graphics device.

No comments: