can't find GPU in MJS
3 views (last 30 days)
Show older comments
I have set up a MJS in my own PC, which has a CPU (Intel Xeon E3-1230 V2, 4 cores 8 threads), and two GPUs (GeForce GTX 670 and 560). Matlab is in the version of R2013a, including PCT and MDCE toolboxes. Visual Studio 2012 ultimate and CUDA 6.0rc are also installed.
I use "admincenter.bat" under the default setting of "mdce_def.bat" to set up a MJS with 4 workers, named "Pattern_CUDA". And I run the following commands
>> matlabpool open Pattern_CUDA
Starting matlabpool using the 'Pattern_CUDA' profile ... connected to 4 workers.
>> spmd disp(gpuDeviceCount); end
Lab 1: 0
Lab 2: 0
Lab 3: 0
Lab 4: 0
It seems these 4 workers didn't find any GPUs.
Then I open the "local" scheduler with 4 workers, and run the same commands as
>> matlabpool open local 4
Starting matlabpool using the 'local' profile ... connected to 4 workers.
>> spmd disp(gpuDeviceCount); end
Lab 1: 2
Lab 2: 2
Lab 3: 2
Lab 4: 2
This means this PC are installed with CUDA and any other related correctly.
Even if I leave just one GPU alone, namely GeForce GTX 670, the workers of "Pattern_CUDA" still can't find the GPU, but the workers of "local" still can.
Is anything I missing when set up the MJS? How can I let the workers of MJS find GPUs?
I am very appreciate for any help!
0 Comments
Accepted Answer
Edric Ellis
on 21 Mar 2014
The MJS workers cannot access the GPU because they're running as a Windows Service, and you need to use the TCC mode driver to allow them access. This section of NVIDIA's documentation tells you more. As noted in that page, "NVIDIA GeForce GPUs do not support TCC mode".
More Answers (0)
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!