Snow LeopardでCUDA 3.1を使う
Snow LeopardにCUDA 3.1を導入した。動作環境は下記の通り。
- MacBook Pro 13inch (Core2 Duo 2.26GHz, Memory 4GB, GeForce 9400M)
- MacOS X 10.6.4
- CUDA Toolkit 3.1
SDKをインストール後、サンプルをそのままmakeすると32bitのバイナリが出来るので、下記の手順に従って64bit向けにビルドする。
/doc/CUDA_SDK_release_notes.txt
1. Build the SDK project examples.
基本のbandwidthTest (64bit)を実行してみる。
$ file ./bin/darwin/release/bandwidthTest ./bin/darwin/release/bandwidthTest: Mach-O 64-bit executable x86_64 $ ./bin/darwin/release/bandwidthTest [bandwidthTest] ./bin/darwin/release/bandwidthTest Starting... Running on... Device 0: GeForce 9400M Quick Mode Host to Device Bandwidth, 1 Device(s), Paged memory Transfer Size (Bytes) Bandwidth(MB/s) 33554432 1429.3 Device to Host Bandwidth, 1 Device(s), Paged memory Transfer Size (Bytes) Bandwidth(MB/s) 33554432 1405.3 Device to Device Bandwidth, 1 Device(s) Transfer Size (Bytes) Bandwidth(MB/s) 33554432 5060.0 [bandwidthTest] - Test results: PASSED Press <Enter> to Quit...
OSのバージョンもCUDAのバージョンも異なるので比較しにくいけど、前回「CUDAメモリ転送のパフォーマンス」で試した時より、「ホスト→デバイス」の転送速度が大きく改善されているようだ。
次に「メモリ固定」を指定して再実行してみる。
$ ./bin/darwin/release/bandwidthTest --memory=pinned [bandwidthTest] ./bin/darwin/release/bandwidthTest Starting... Running on... Device 0: GeForce 9400M Quick Mode Host to Device Bandwidth, 1 Device(s), Pinned memory, Write-Combined Memory Enabled Transfer Size (Bytes) Bandwidth(MB/s) 33554432 1396.1 Device to Host Bandwidth, 1 Device(s), Pinned memory, Write-Combined Memory Enabled Transfer Size (Bytes) Bandwidth(MB/s) 33554432 1772.1 Device to Device Bandwidth, 1 Device(s) Transfer Size (Bytes) Bandwidth(MB/s) 33554432 5060.4 [bandwidthTest] - Test results: PASSED Press <Enter> to Quit...
「デバイス→ホスト」方向の能力は上がっているけど、前回の「CUDAメモリ転送のパフォーマンス」程の結果は出ていない。CUDAのバージョンの違いが理由なのだろうか?CUDAのメモリ処理は相変わらず謎が多い。
関連