CUDA Unibody 17" Macbook Pro Support

So, the 17" Macbook Pro (http://www.apple.com/macbookpro/specs.html) has two NVIDIA chips in it, the 9400M with 256MB of memory and the 9600M GT with 512MB of memory - in normal operation it just has the 9400M on, and leaves the 9600M in reserve for the heavy lifting.

I installed the CUDA SDK and Tools and deviceQuery is only seeing the 9400M and its 256MB of memory. Is there some trick to enabling the 9600M? Is it possible to task both GPUs with CUDA?

Thanks for any guidance.

   -eric

arly152:release ericvh$ ./deviceQuery
There is 1 device supporting CUDA

Device 0: “GeForce 9400M”
Major revision number: 1
Minor revision number: 1
Total amount of global memory: 266010624 bytes
Number of multiprocessors: 2
Number of cores: 16
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 16384 bytes
Total number of registers available per block: 8192
Warp size: 32
Maximum number of threads per block: 512
Maximum sizes of each dimension of a block: 512 x 512 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 1
Maximum memory pitch: 262144 bytes
Texture alignment: 256 bytes
Clock rate: 0.80 GHz
Concurrent copy and execution: No

Test PASSED

There should be a “Performance” mode option in the OS level configuration options GUI. Switch to that, and reboot, and both GPUs should be detected.

When I switched and rebooted, it came up in emulation mode. But I reinstalled the toolkit and rebooted again, and now both GPUs are showing. Thanks.

arly152:release ericvh$ ./deviceQuery

There are 2 devices supporting CUDA

Device 0: “GeForce 9600M GT”

Major revision number: 1

Minor revision number: 1

Total amount of global memory: 536543232 bytes

Number of multiprocessors: 4

Number of cores: 32

Total amount of constant memory: 65536 bytes

Total amount of shared memory per block: 16384 bytes

Total number of registers available per block: 8192

Warp size: 32

Maximum number of threads per block: 512

Maximum sizes of each dimension of a block: 512 x 512 x 64

Maximum sizes of each dimension of a grid: 65535 x 65535 x 1

Maximum memory pitch: 262144 bytes

Texture alignment: 256 bytes

Clock rate: 0.78 GHz

Concurrent copy and execution: Yes

Device 1: “GeForce 9400M”

Major revision number: 1

Minor revision number: 1

Total amount of global memory: 266010624 bytes

Number of multiprocessors: 2

Number of cores: 16

Total amount of constant memory: 65536 bytes

Total amount of shared memory per block: 16384 bytes

Total number of registers available per block: 8192

Warp size: 32

Maximum number of threads per block: 512

Maximum sizes of each dimension of a block: 512 x 512 x 64

Maximum sizes of each dimension of a grid: 65535 x 65535 x 1

Maximum memory pitch: 262144 bytes

Texture alignment: 256 bytes

Clock rate: 0.40 GHz

Concurrent copy and execution: No

Test PASSED

Press ENTER to exit…

My guess (and I really am guessing here) is that if you go to the power saving panel and select top performance graphics depending on power mode preference you’ll get the heavylifter…

I’m about to test that assertion - but don’t you just love that MacBook?

Cheers,

Simon

[I missed the other post… oh my… you mean we can use both devices for CUDA?]

So what’s the magic? I can’t get anything but emulation mode on mine :-(

Doh… try installing the driver…

Magic done!

:-)

ericvh, or anyone else with a new MBP, it’d be interesting to see the results of running the SDK BandwidthTest project/tool.
It’s one of the demo codes in the CUDA SDK.

I’m especially interested in the 9400M speed, it may be quite high since it’s embedded, so I’m curious how both devices behave!

Thanks if you could run the tests.

Unrelated question, but has anyone used a MBP in Bootcamp mode and gotten both GPUs to appear in Windows?

Got it. Thanks.