GPU computing with OS X 10.8 and retina macbook

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.

5 Comments

We have had a number of reports of problems with the GPU features in R2012a only on the new Macbook Pro Retina machines with Mountain Lion. We are looking into the problem and trying to diagnose what the issue is. We will post our findings as soon as we have something.
Naveen
Naveen on 20 Feb 2013
Edited: Naveen on 20 Feb 2013
I know this thread a bit old. But what's the status of GPU computing on ML (10.8.2) on a retina machine? I have this configuration and Matlab (R2012b) couldn't find gpuDevice on my rMBP. I'm a bit skeptical about downloading nVidia drivers from their website as it might break something on my rMBP. Has anyone with ML on rMBP been running GPU computing successfully? Please let me know.
As far as we know, using the latest drivers, MATLAB should not have a problem on this machine. If you find out otherwise please let us know.
Yes I do have the problem. When I type gpuDevice command in Matlab, I get this in return
Error using gpuDevice (line 26)
There is a problem with the CUDA driver associated with this GPU device. See www.mathworks.com/gpudriver
to find and install the latest supported driver.
Caused by:
The CUDA driver could not be loaded. The library name used was '/usr/local/cuda/lib/libcuda.dylib'.
The error was:
dlopen(/usr/local/cuda/lib/libcuda.dylib, 1): image not found
Please suggest something. I'm running the most up-to-date version of 10.8.2 on a 15" rMBP. Just to add that even when I disable automatic graphic switching on my machine and I see GT 650M card is in use, Matlab returns the same answer for gpuDevice command.
When you see a message like this, it usually means that the CUDA driver is missing and you need to install it.

Sign in to comment.

Answers (3)

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.
More Details:
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'

1 Comment

Same problem here. Computer crash on the Retina using Mountain Lion. The solution seems to be to downloaded latest drivers. Turn of automatic graphic switching since this seems to cause the crash. Then I run
gpuDevice
and it compiles for a while. After that I can run it all the time. So graphics switching seems to be at fault here.

Sign in to comment.

3 Comments

Thanks for the reply, but it seems the other folks are having slightly different issues. Maybe the Retina macbook+GPU+Matlab combo is just plain unstable.
You should probably try those.
The drivers you linked to don't support my hardware. Besides, there is no clear way to uninstall CUDA 5.

Sign in to comment.

Tom Clark
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.

Categories

Asked:

on 14 Aug 2012

Edited:

on 4 Sep 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!