Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Open MPI and CUDA in Windows 7

I am trying to run a Simple CUDA program which queries the numbers of GPUs in the nodes using Open MPI v1.6.1 (64 bit) in Windows 7 Professional 64 bit Machines. When I run the application in root node, the correct GPU count is getting. But when the same application is tried to run in different nodes remotely using Open MPI, the GPU count is getting as 0, ie, it is showing as No CUDA capable GPU is present in the node.

The root and the nodes having CUDA 2.1 capable GPUs. When a normal MPI application is running, it is working correctly.

Is there any special settings required for running a CUDA application in Windows 7 using Open MPI v1.6.1?

like image 885
Sijo Avatar asked Jan 15 '23 13:01

Sijo


1 Answers

On Windows, display GPUs are required to use Microsoft's WDDM driver model. When running remote tasks on a Windows machine (e.g. via RDP or MPI) you are running in a restricted session which has a virtual display driver, as such the WDDM devices are not accessible and hence there is no GPU (i.e. no CUDA GPU).

NVIDIA's TCC driver model takes the GPU out of the WDDM environment and makes it appear as a non-display device, which means it is available for CUDA work via RDP and MPI. Of course this also makes it unavailable for display.

TCC is supported on all Tesla and some Quadro devices.

like image 83
Tom Avatar answered Jan 18 '23 04:01

Tom