2014-01-31

ThunderboltのRAIDエンクロージャー

前回のThunderbolt接続の外部PCI-ExpressボックスでGPGPUをMacBookProに認識させるという記事は相当なアクセス数がありました。
やはりみんな関心が高いというか待ってるんですねぇ。
そんなわけでThunderbolt繋がりで今日はThunderbolt接続のRAIDエンクロージャーをご紹介します。
NA-762TB
はいこちらです。Thunderbolt接続の8Bayデスクトップタイプです。
こちらの製品ですが内部にRAIDコントローラを内蔵しております。具体的にはArecaのARC-1223-8iと同等のカードが入っていますので、パフォーマンス的には申し分ありません。
ブラックマジックデザイン Disk Speed Test
リードライト共に800MB/s前後は出ます。Thuderbolt2ではなくThunderbolt1なので10Gbpsですから大体この辺が限界値かなという気がしますが、通常の運用には必要十分なパフォーマンスでは無いかと思います。(4Kとかは無理ですけどね)

で、このNA-762TB。今日から2月末まで限定特価で販売致します!
定価から25%オフになっていますので、ご入用の方は是非!弊社直販ショップまでご注文宜しくお願いします。但し限定3台のみです。。(要は在庫を少し整理したいってことです)
(2014/4/15 お陰様で在庫処分品は全て売り切れました。ありがとうございました。)



Seagate NAS HDD 3.5inch SATA 6Gb/s 2TB 5900rpm 64MB ST2000VN000
Seagate
売り上げランキング: 13,564
Seagate NAS HDD 3.5inch SATA 6Gb/s 4TB 5900rpm 64MB ST4000VN000
Seagate
売り上げランキング: 12,353

2014-01-24

MacでThunderbolt外付けBOXにGPGPUを認識させるには

新年あけましておめでとうございます。(1月ももう後半ですが...)
ブログのネタがなくてだいぶ放置しておりまして、いい加減見に来る人もあんまりいないんじゃないかと思いますが今日はフレッシュなネタをひとつ。

これまでThunderbolt接続のPCI-ExpressボックスではGPGPUの接続が不可能とされていました。Intelの意向らしいですがとりあえず現状ではグラフィックスボードを挿しても認識させることは出来ません。RAIDカードやNICでもThunderbolt接続に対応したドライバが無いと動作させることは出来ません。
人々は皆思いました。「えっ!?ThunderboltってPCI-Expressの信号を通すだけだって話なのに何でそんな制限かけるんだよ!」と。えぇ私も思いましたよ。ま、大人の事情ってヤツです。

ただ世の中にはそうした制限をくぐり抜けてハックする方法を考え出す人がいるわけで、色々な方法でチャレンジする人がいます。
当方も海外の方のあるブログを見て同様の方法でチャレンジしてみました。
この方はExpressCardに一旦変換してからPCI-Expressに繋いでいるようですが、せっかく手元にThunderboltの外付けPCI-Expressボックスがあるのでダイレクトに繋いでチャレンジしてみましょう。

用意するもの
  1. Mac (今回はMacBookPro Early 2013)
  2. MAXSERVE  Thunderbolt接続PCI-Express拡張ボックス NA-211TB
  3. NVIDIA製GPGPUボード (今回はGeForce GTX760 )
  4. Text Wrangler (テキストエディタ)
  5. Nvidia Mac版CUDAドライバ
NA-211TBは2.5inchハードディスクを4発搭載可能なNA-211TB-LDでも構いませんが、今回搭載したGeForce GTX760ですと2スロットを消費するモデルが多い為、RAIDカードと同時に挿すことは無理な場合があります。

またGPUボードの長さが結構ありますので、内部の奥行きが長いNA-211TBの方がベターでしょう。

GPGPUボードはGTX760クラスが限界かなという気がします。NA-211TBの内蔵電源が250Wな為、GTX770以上ですと消費電力が少し心配です。
今回のテストではGainward社製GeForce GTX760 Phantomを用意しました。
※注)参考ブログの中の人曰く、AMDのRadeonシリーズは動くけどバグが多いのでGeForceが良いらしいです。
PCI-Express用補助電源コネクタも付いていますのでGTX760でも問題ナッシング
kextファイルを書き換える

そしてGPGPUをThunderbolt経由で動作させるにはカーネルエクステンションファイルを少し書き換える必要があります。(といっても大した量では無いのでご安心を)
このカーネルエクステンションファイルを書き換える際にエディタソフトが必要になります。手軽なのはText WranglerというアプリですがこれはAppStoreから検索して出てくるバージョンではなく、必ずText Wranglerの開発元から配布されているバージョンを使ってください。(そうでないとうまくいきません)

※以下の作業は必ず自己責任で。万一の際のバックアップは必ず取ってください。
これらを用意しましたら以下のファイルを開きます。
/System/Library/Extensions/NVDAStartup.kext
/System/Library/Extensions/IONDRVSupport.kext
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext

例えばNVDAStartup.kextを右クリックして「パッケージの内容を表示」、Contentsフォルダを開くと「info.plist」というファイルがありますので、それを右クリックし「このアプリケーションで開く」->「TextWrangler」を選択します。
ファイルを開きますとxmlで書かれたkeyとstringが表示されますので、その中から

<key>CFBundleIdentifier</key>

と書かれたセクションを見つけ出します。上記が記述されたセクションの最後に

<key>IOPCITunnelCompatible</key>
<true/>

とコードを追加します。

</dict>

の手前に追加です。CFBundleIdentifierというセクションが幾つかあるので、それを一つ残らず見落とさないようにして必ず上記コードを追加してください。
記入例。下から3行目と2行目を追加しています
3つのファイルをそれぞれ上書き保存します。

【追記】 OSをアップデート(例10.9から10.9.1へ等)した場合、再度この作業をおこなう必要があるそうです。

Mac版 CUDAドライバをインストール

次にNvidiaからMac用のCUDAドライバをダウンロードします。これを執筆している(2014/1/24現在)時の最新Verは5.5.28となっています。もちろんOSX10.9 Mavericks対応です。
ダウンロードしたCUDAドライバをインストールしてMacを終了させ電源を落とします。

※グラボのドライバですがMacOSX10.8からどうやらGeForce系はネイティブで動くという情報を耳にしていたので、そのまま挿せば良いようです。

最後にNA-211TBにGeForce GTX760を取り付けThunderboltケーブルをMacBookProに繋ぎます。
Thunderboltの製品は基本的に繋いだPCの電源と連動して電源が入るので、必ず接続してからMacの電源を入れます。
※注)ThunderboltケーブルをMacが動作している時に絶対に抜かないでください。多分システムが落ちます。Thunderboltを介したPCI-Expressなので、PCI-ExpressスロットからGPUボードをサクッと外した状況と同一になりますから抜いちゃダメですよ。

で準備が出来たら一先ず深呼吸をして気持ちを落ち着けましょう。
Thunderboltケーブルは接続されいるか、GPGPUボードはちゃんと装着されているか、補助電源コネクタも大丈夫か。確認しましょう。

はい、いいですか? ではMacの電源をオン!!

すると....

ちゃんと映りました!何の問題もなく。あっけないまでに。
ちゃんとしたカメラで撮ればいいのに手元にiPhoneしかなかったので...
システム情報にもちゃんとGTX760と・・
何か動かして面白いものは無いかと思い、とりあえずCall of Duty2のデモ版があったのでインストールして動かしてみました(ちょっと古いゲームですが)。当然スムーズに動きます。
ていうか今時のグラボって静かなんですね〜。まぁこのPhantomってモデルが静音なのかも知れないですがちょっと前のグラボって結構うるさかった気が・・。全然音も気になりませんし、NA-211TBには2mのThunderboltケーブルが付属しているので、少し離して置くことも出来ます。

MAXONのグラフィックスベンチマーク、CINEBENCH R15を動かしてみた結果です。
もっと良いボード挿せばスコア上がるんだけどなーと思いつつ今日はこのくらいで勘弁してやりましょう。

内容的にはあまりホビー向けでは無いかも知れません。今後の予定としては映像業界向けのテストをしてみようと思います。特にDaVinch ResolveやAdobe関係のアプリケーションがどの程度高速化出来るかというのをやってみたいと考えています。

To be continued...

【追記】次回は色々ベンチマークを動かしてみるという夢をみます。
【追記2】MacOSX 10.9.4版の新しい記事があります。
MacでThunderbolt外付けBOXにGPGPUを認識させるには (MacOSX 10.9.4版)
【追記3】この記事には最新版があります。トップページからご覧ください。