2014-07-12

(MacOSX 10.9.4版) MacでThunderbolt外付けBOXにGPGPUを認識させるには

MacのThunderbolt接続にて外付けPCI-Expressエンクロージャー上でGPGPUを動かすという夢物語のMavericks版です。
MacOSX10.9 (Mavericks) になって微妙な変更等があったようで、「今まで動いていたのに動かなくなった」「ようやく拡張ボックスとGPUボードを用意したのにちゃんと動かない」という話をされている方がもしかしたらいらっしゃるかも知れません。かくいうこの私もその一人でした。

そんな訳で今回はMacOSX 10.9.4上でGPGPUボードをThunderbolt経由で動かすという夢を見てみます。

用意するもの
  1. Mac (MacBookPro Early 2013) ※MacOSX 10.9.4
  2. MAXSERVE  Thunderbolt接続PCI-Express拡張ボックス NA-211TB
  3. NVIDIA製GPGPUボード (今回は GeForce GTX TITAN BLACK )
  4. Text Wrangler (テキストエディタ)
  5. NVIDIA製 Mac版CUDAドライバ
  6. NVIDIA製 WebDriver (ver 334.01.02f02) ※モディファイド版
CUDAドライバの最新は6.0.51です。(執筆時2014/7/12現在)
CUDAドライバのダウンロードは以下URLより。
http://www.nvidia.com/object/mac-driver-archive.html
また、具体的なカーネルエクステンションファイルの書き換え等は以前の記事を参照ください。OSをupdateした際にはkextファイルの修正が必須です。

ここまではこれまで通りなので以前から使用されていてアップグレードした方はこのままでいけるかも知れません。(※うまくいかない場合はこれから書く作業が必要です)
今回テストしようとしたTITAN Blackや780Tiを動作させようとした場合、これまでの方法だと上手く行きません。
原因としてはTITAN Blackや780Tiが搭載しているNVIDIAのGPUチップが新しいため、MacOSXにデフォルトで入っているGeForceドライバでは対応していないせいだと思われます。
※ 詳しく言うとGeForceGTX760やTITANに搭載されているチップ名はGK110、780TiやTITAN Blackに搭載されているチップ名はGK110bです。

そこで必要になってくるのがNVIDIAからリリースされている通称WebDriverと呼ばれるGeForce用ドライバです。(7/12現在、ver 334.01.02f02)
NVIDIA本家サイトに行きますとダウンロード出来るのですが、実際これをダウンロードしてもMacBookProやiMac等にインストールすることは不可です。インストーラを起動した時点でシステムチェックでハネられます。それはRelease Notesにも書かれているようにこのドライバはMacPro 2010, 2009, 2008でしかインストール出来ないようになっているからです。
しかし世の中にはこうしたチェックをかいくぐる人がおりまして、MacBookPro等で動作するようにモディファイしたドライバを公開している人がいました。

http://forums.macrumors.com/showthread.php?t=1748213

上記ページの最初の投稿者の所に書かれている「Here is the driver for 10.9.4」と書かれている下のURL(https://mega.co.nz....)にモディファイドドライバがあります。
追記)ミラー置いておきます。https://app.box.com/s/wa2tblhb4y5dtd3fgh1z

※ 改造ドライバと言ってもドライバ自体を改変している訳では無く、インストーラ起動時のシステムチェックの文字列にMacPro以外の機種を追加しているだけの様です。

こちらをダウンロード後インストーラを起動しモディファイド版NVIDIA製ドライバをインストールします。
そしてインストール後もう一作業必要です。カーネルエクステンションファイルのキャッシュをクリアしてあげる必要があります。
ターミナルを起動し以下のコマンドを打ちます。

sudo kextcache -system-caches

これで作業は完了です。
あとは一旦Macの電源を落としThunderboltケーブルとNA-211TBを接続してGPUボードを取り付けてからMacの電源をオンにします。

システムレポートからグラフィックスを確認します。ここに出ていればOKです。
コントロールパネル内のCUDA
7/12現在、Update Requiredと表示されますがそのままで問題ありません。
DaVinci ResolveでのGPU表示
Resolveでは2.5KのプレビューがMBPのGT650Mだとカクついてダメダメですが、これがスムーズにプレビュー可能になります。

という訳でこれまでに外部拡張ボックスで動作確認出来たGPGPUボードは以下の通りです。

  • GTX760
  • GTX780 6GBモデル
  • GTX TITAN
  • GTX TITAN Black
  • GTX680
以下お約束ですが上記内容をおこなわれる場合は必ずシステムのバックアップを取って下さい。TimeMachineで取っておけば良いでしょう。また上記内容に起因する不具合等には当方一切の責任は負えませんので自己責任でお願いします。
(実は私も一回ミスってMBPの画面解像度が4Kサイズに固定され変更も出来なくなり慌てました。復旧して戻りましたが....)



1 件のコメント:

ragiragiragi さんのコメント...

あざっっす〜!