I have been using gpuArray on a certain machine without difficulty when I work locally. However, when I connect to the same machine remotely using Remote Desktop, attempts to use gpuArray fail with the following error
Error using gpuArray (line 28) No device supporting CUDA was found.
My local software experts conjecture that this is because Remote Desktop substitutes some default virtual display architecture for the actual video card when rendering the desktop. When MATLAB tries to detect the CUDA capable card it encounters instead this rerouted display architecture and thinks the card isn't there.
However, they also say that MATLAB must have a way to not go through this default display, because otherwise it couldn't support certain GPU cards like Teslas which aren't even used for video display.