MacBook ProでCUDAを試す

ヒマだったのでMacBook Pro (13inch, 2.26GHz) にCUDA ver.2.3を入れてみた。廉価なノートパソコンとはいえ、NVIDIAのCUDA対応チップが入っているのだ。これは是非とも試さねばなるまい。

1. SDKインストール

まずは下記のサイトからドライバや開発ツールをダウンロードする。

  • cudadriver_2.3.0_macos.pkg
  • cudasdk_2.3_macos.pkg
  • cudatoolkit_2.3_macos_32.pkg
http://www.nvidia.com/object/cuda_get.html

MacOSX用のドライバは2種類あるので、説明に従って適切な方を選ぶ。今回のMacBook Proでは後者の方を選択した。

  • CUDA Driver: CUDA Driver 2.3.1 for use with Quadro FX 4800 or GeForce GTX 285 on MacOS X 10.5.2 or later (pre-SnowLeopard), and any NVIDIA GPU on SnowLeopard.
  • CUDA Driver: CUDA Driver 2.3.0 for all other NVIDIA GPUs on MacOS X 10.5.2 or later (pre-SnowLeopard).
2. サンプルソフト

サンプルソフトが多数インストールされるので、これをビルド、実行して動作を確認する。

$ cd /Developer/GPU\ Computing/C/
$ make
$ ./bin/darwin/release/deviceQuery
CUDA Device Query (Runtime API) version (CUDART static linking)
There is 1 device supporting CUDA

Device 0: "GeForce 9400M"
  CUDA Driver Version:                           2.30
  CUDA Runtime Version:                          2.30
  CUDA Capability Major revision number:         1
  CUDA Capability 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
  Run time limit on kernels:                     Yes
  Integrated:                                    Yes
  Support host page-locked memory mapping:       Yes
  Compute mode:                                  Default (multiple host threads can use this device simultaneously)

Test PASSED

Press ENTER to exit...

上記の結果では"Clock rate"の周波数が低いけれど、他のCUDA対応ソフトを稼働させるとスピードアップする。つまり、通常は省電力モードらしい。

  Clock rate:                                    1.10 GHz

マシンを再起動するとCUDA対応のデバイスが見つからず、再度ドライバをインストールしなければならないのはインストーラの不具合らしい。フォーラムのやり取りを参照して暫定的な対策を施したら、再起動後も正しく動作するようになった。

$ sudo chmod g-w /System/Library/StartupItems/CUDA/*
$ sudo chmod g-w /System/Library/StartupItems/CUDA/

これから色々と試してみることにしよう。