GPU computing with OS X 10.8 and retina macbook
2 views (last 30 days)
Does anyone have this combination working? I've installed the CUDA driver 5.0.17 and gpuDevice locks up Matlab. I'm running OS X 10.8 on a new retina macbook pro and I've disabled automatic GPU switching in my preferences.
I could not locate the Geforce for mac driver that is referenced in the Nvida CUDA install notes.
The Nvidia forums are shut down.
Matlab 2012a is installed.
Jos Martin on 20 Aug 2012
We believe that the hang you are seeing relates to the CUDA driver recompiling all of the GPU libraries to run on the particular GPU in the device. If you wait about 10-20 mins (one time only) you should find that MATLAB comes back, having finished this recompilation.
R2012a shipped with libraries that were optimized for pre-Kepler NVIDIA hardware. This means that they did not contain the correct compiled code for the new Kepler architecture (which is the architecture of the GPU in the new mac book pro retina machine). Thus the first time those libraries are loaded the CUDA driver needs to take the embedded PTX code and compile it for the new architecture. This is a time consuming process. Fortunately, once the driver has compiled it once it caches the result so that the next time you use those libraries on the machine you will not need to recompile.
For even more details see http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/Kepler_Compatibility_Guide.pdf, particularly the sections 'Applications Using CUDA Toolkit 4.1 or Earlier'
Walter Roberson on 14 Aug 2012
A reported problem: http://www.mathworks.co.uk/matlabcentral/answers/43239#answer_54809. But it might not be cuda 5 specific: see http://www.mathworks.co.uk/matlabcentral/answers/45809-matlab-couldn-t-find-my-gpu-any-more. Same problem reported in http://www.mathworks.co.uk/matlabcentral/answers/44740-matlab-not-recognizing-cuda-driver-5
Tom Clark on 4 Sep 2016
Edited: Tom Clark on 4 Sep 2016
By far the vast majority of retina macbook pros actually have Intel graphics adapters, rather than NVIDIA.
In that case, attempting to invoke CUDA code would issue the error shown in the OP (or segfault, depending on how robust the code is!).
(Although in the OP's case he's clearly checked so this isn't the case - but mentioned for general fullness of answers).
To check: Go to the apple sign (top left), click 'About This Mac' and 'More Info' to look at what graphics adapter is installed.