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!
Best Answer