MATLAB Answers

0

Why am I not able to access a GPU card on a Windows Vista/Windows 7 machine managed under Job Manager when using MATLAB Distributed Computing Server 5.2 (R2011b)?

I have a cluster consisting of several machines. One of the nodes has two GPU cards installed. One of the GPUs is a Tesla and the other GPU is a Quaddro. The Quaddro card is connected to a display. Workers running on that node are able to only access the Tesla GPU card and not the other one.
When I execute the following command:
matlabpool open myCluster 8
spmd
gpuDeviceCount();
end
matlabpool close
I receive the result of GPUDEVICECOUNT() as 1 as opposed to 2.
When I open a local pool on the head node the GPUDEVICECOUNT is reported as two.

Products


Release

R2011b

1 Answer

Answer by MathWorks Support Team on 5 Dec 2011
 Accepted Answer

The issue is caused by Operating System limitations as well as NVIDIA driver limitations on Windows Vista/Windows 7 for applications running as a Windows service.
By design MDCS workers, when managed by Job Manager on Windows, are run as a service. By design all Windows services are attached to Session 0 Windows Desktop. However, the actual rendered user desktop is attached to a different interactive Session. To prevent malicious code inside of services running on the system from taking over the user desktop, all programs running as a Windows service are prohibited from accessing the user desktop session, and writing to the graphics card associated with the user desktop. Furthermore when using default Windows NVIDIA drivers, even cards which are currently not attached to a user display are by default not accessible to programs running as a service.
To work around this issue NVIDIA released a special driver set called TCC (Tesla Compute Cluster), which bypasses the Windows Vista/Windows 7 graphics driver restrictions. When run under TCC drivers compatible devices not attached to a display become visible to services. However, these driver are not graphics drivers and are unable to render a display.
Detailed description of this issue can be found at:
The list of NVIDIA GPUs that are supported by TCC can be located in Appendix B of NVIDIA Tesla, Quaddro driver release notes:
It is recommended that when running under Job Manager on Windows that you install the TCC drivers, and only use supported (Tesla) cards for GPU computations.

  0 Comments

Sign in to comment.