MATLAB: GPU and SSH

gpussh

I just got a new machine with an NVIDIA Quadro 4000 GPU and thought I would give GPU processing a try. I have installed Arch Linux with the proprietary NVIDIA drivers and CUDA packages and MATLAB R2011a. If I locally log into the machine and run
gpuDevice
everything looks good. I then tried to remotely log into the machine. I can log remotely with ssh -X, but I cannot get MATLAB to accept keyboard input. If I log in ssh -Y I can get the keyboard to work. In both cases
gpuDevice
fails with:
??? Error using ==> feval
No device supporting CUDA was found.
Error in ==> /usr/local/matlab/R2011a/toolbox/distcomp/gpu/+parallel/+internal/+gpu/currentDeviceIndex.p>currentDeviceIndex at 7
Error in ==> /usr/local/matlab/R2011a/toolbox/distcomp/gpu/+parallel/+internal/+gpu/deviceProperties.p>deviceProperties at 8
Error in ==> GPUDevice.GPUDevice>GPUDevice.current at 34
[props, E] = parallel.internal.gpu.deviceProperties();
Error in ==> gpuDevice at 18
dev = parallel.gpu.GPUDevice.current();
Given that it doesn't work, I see that maybe I need a Tesla and not a Quadro GPU. Anyone know if I bought the wrong GPU or if it is something else.
EDIT Based on Thomas's answer I can now report that
gpuDevice
works if ssh into the machine and then launch MATLAB as root.

Best Answer

  • COMPUTE=:0
    Such an easy answer. Apparently you need to set the COMPUTE environment variable.