正確なバージョン履歴は分かりませんが、Intel Macにおいて、現在配布されているBOINC 6.10.17ではnVidia CUDAデバイスを搭載していても、メッセージに"No usable GPUs found"と表示されてしまうことがあります。これを修正して、BOINCが正常にCUDAデバイスを認識するようにできます。
なお、これはアプリケーションの改造の一種なので、自己責任でお願いいたします(おそらく、失敗してもBOINCの再インストールで直るかとは思います。)
これは、BOINC本体は64ビットバイナリを含むUniversal Binaryなのにもかかわらず、現行(2.3.1a)CUDAドライバが64ビットバイナリに対応していないことが原因です。
Mac OS Xの実行ファイルローダはUniversal Binaryから、自機にとって最も適したアーキテクチャの実行ファイルを取り出して実行します。このとき、Core 2 Duo以降のMacは64ビットに対応しているため、x86_64アーキテクチャを優先します。一方、.frameworkなど動的ライブラリは、実行中アプリケーションと同じアーキテクチャのものしかロードできません。よって、BOINC起動時にx86_64バイナリが実行されると、CUDAのi386バイナリがロードできなくなってしまうのです。
これを直すには、BOINCのバイナリをi386のみ動作するようにします。具体的にはTerminalで以下のようにコマンドを実行します。
$ cd /Application/BOINCManager.app/Contents/Resource/
$ sudo mv boinc boinc_old
$ sudo lipo -extract i386 boinc_old -output boinc
$ sudo chown boinc_master:boinc_master boinc
これによりBOINCの実体である実行ファイルboincからi386バイナリのみを取り出して、かわりに使用させることが出来ます。これでBOINCがCUDAデバイスを認識するようになるかと思います。
ただし、知る限り、Macに対応したCUDA利用プロジェクトが見当たりません...ご存知の型はお教えいただけたら幸いです。
トラックバック
このブログ記事を参照しているブログ一覧: Intel Mac版BOINCでCUDAを有効にする
このブログ記事に対するトラックバックURL: http://www.memorize-being.net/x/mt-engine/mt-tb.cgi/55


コメントする