Using Open MPI and CUDA on Windows 7

I am trying to run a simple CUDA program that queries the number of GPUs in nodes using Open MPI v1.6.1 (64 bit) in Windows 7 Professional 64 . When I run the application in the root of the node, the correct GPU count is obtained. But when the same application tries to run remotely in different nodes using Open MPI, the number of GPUs becomes equal to 0, i.e. It displays as No CUDA-enabled GPU in node.

Root and nodes that have GPUs that support CUDA 2.1. When a regular MPI application is running, it is working correctly.

Are there any special settings needed to run the CUDA application on Windows 7 using Open MPI v1.6.1?

+4
source share
1 answer

On Windows, GPUs must use the Microsoft WDDM driver model. When you run remote tasks on a Windows computer (for example, via RDP or MPI), you work in a limited session that has a virtual display driver, so WDDM devices are not and therefore there is no GPU (i.e. there is no CUDA GPU )

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

TCC is supported on all Tesla devices and some Quadro devices.

+9
source

Source: https://habr.com/ru/post/1434768/


All Articles