OpenCLLink の設定
このセクションでは,OpenCLLink をマシンでどのように設定するかについて説明する.また問題を見付けて解決する方法についても述べる.
設定と検証
OpenCLLink は,特別な設定を行わなくても,Mathematica をインストールすると自動的に使用できるように設計されている.このことは,OpenCLQ関数を使って検証することができる.
| In[1]:= |
OpenCLLink がサポートされているかどうかをチェックする.下に示すようにTrueを返せば,OpenCLLink を使うことができる.
| In[2]:= |
| Out[2]= |
OpenCLQ がTrueを返さない場合は,then OpenCLLink を使うことはできない.しかし,これを正すために使用中のマシンを設定することができることもある.
以下は,OpenCLQでFalseが返される主な5つの理由である.
- サポートされていないハードウェア — OpenCLLink は,OpenCLを使用できるグラフィックスカードおよび/あるいはSSE3をサポートするCPUでしか使用できない.使用しているグラフィックスカードがサポートするかどうかについては,NVIDIA CUDAのWebサイトあるいはAMD/ATI OpenCLのWebサイトでチェックすることができる.
- 互換性のないグラフィックスドライバ — OpenCLLink が正しく作動するためには,新しいNVIDIAあるいはATIのドライバが必要である.使用のオペレーティングシステム用のドライバは,NVIDIAのドライバダウンロードWebサイトあるいはAMD/ATIのドライバダウンロードWebサイトから入手できる.
- 誤ったATIドライバ — バージョン10.10以降のATIハードウェアには2つのバージョンがある.OpenCLをサポートするものと,しないものである.AMD Catalyst
Accelerated Parallel Processing (APP) Technology EditionのドライバがOpenCLを使用するためには必要である.ドライバは特定のカードのみでサポートされており,AMD/ATIドライバWebサイトからダウンロードすることができる.
- OpenCL ATI Stream SDKがない — for APPドライバでサポートされていないATIハードウェアについては,あるいは CPUを使うつもりであれば,AMD/ATI Stream SDKが必要である.Stream SDKはAMD/ATIのOpenCLのWebサイトからダウンロードできる.
Mac OS X
Apple Mac OS X Snow Leopard (10.6)には,オペレーティングシステムの一部としてOpenCLへのサポートが搭載されている.Snow Leopardより前のOS Xのバージョンではサポートされていない.
NVIDIA
概して,CUDALink が使えれば,OpenCLLink も使えるはずである.「CUDALink の設定」には,CUDALink をどのように検証し,使用できるようにするかについて説明されている.このドキュメントを読めば,OpenCLLink の問題も解決することができるはずである.
AMD/ATI
OpenCLLink を使うには,OpenCLを使用できるビデオカード(次のセクションを参照)必要である.AMD Catalyst
ドライバも必要である.ビデオカードの中には,AMD Catalyst
Accelerated Parallel Processing (APP)ドライバを搭載したものもあり,その場合はこのドライバで十分である.APPドライバをサポートしない場合には,OpenCLLink を使うのにATI Stream SDKが必要である.
AMD Catalyst
ドライバは,AMD/ATIのドライバWebサイトから,ATI Stream SDKはAMD/ATI StreamのWebサイトからダウンロードすることができる.
サポートされるAMD/ATIビデオハードウェア
以下のAMD/ATIビデオハードウェアが OpenCLLink でサポートされる.
- ATI Radeon
HD: ATI Radeon
HD 5970,ATI Radeon
HD 5870,ATI Radeon
HD 5850,ATI Radeon
HD 5770,ATI Radeon
HD 5750,ATI Radeon
HD 5670,ATI Radeon
HD 5570,ATI Radeon
HD 4890,ATI Radeon
HD 4870 X2,ATI Radeon
HD 4870,ATI Radeon
HD 4850 X2,ATI Radeon
HD 4850,ATI Radeon
HD 4830,ATI Radeon
HD 4770,ATI Radeon
HD 4670,ATI Radeon
HD 4650,ATI Radeon
HD 4550,ATI Radeon
HD 4350のいずれか
- ATI FirePro
: ATI FirePro
V8800,ATI FirePro
V8750,ATI FirePro
V8700,ATI FirePro
V7750,ATI FirePro
V5700,ATI FirePro
V3750のいずれか
- ATI Mobility Radeon
HD: ATI Mobility Radeon
HD 4870,ATI Mobility Radeon
HD 4860,ATI Mobility Radeon
HD 4850X2,ATI Mobility Radeon
HD 4850,ATI Mobility Radeon
HD 4830,ATI Mobility Radeon
HD 4670,ATI Mobility Radeon
HD 4650,ATI Mobility Radeon
HD 4500 Series,ATI Mobility Radeon
HD 4300 Seriesのいずれか
- ATI Mobility FirePro
: ATI Mobility FirePro
M7820,ATI Mobility FirePro
M7740,ATI Mobility FirePro
M5800のいずれか
ATIのOpenCL実装では,SEE 2.x以降のサポートを持つx86 CPUもOpenCLデバイスであると認識される.適切な
および
のオプションを指定することによって,CPUを OpenCLLink で使うこともできる.
環境
MacOSXでは,OpenCLQはOSX 10.6 (Snow Leopard)がインストールされているかどうかをチェックする.それより前のバージョンではサポートされていないので,検出されない場合には失敗する.NVIDIAハードウェアでは,OpenCLQは CUDALink における検出のCUDAQと同じ方法に従う.詳細については,「CUDALink の設定」を参照のこと.
ATISTREAMSDKROOT
このセクションは,AMD/ATI GPUを持つシステム,あるいはAMD/ATI Stream SDKを一緒に使うCPUについてのみ当てはまるものである.
LinuxおよびWindowsでは,
環境変数を使ってAMD/ATI Stream SDKへのパスを調べる.検出されない場合には,以下のパスがチェックされる.
| "Windows" | "C:\\Program Files\\ATI Stream" |
| "Windows-x86-64" | "C:\\Program Files (x86)\\ATI Stream" |
| "Linux" | $Failed |
| "Linux-x86-64" | $Failed |
が定義されていない場合の,AMD/ATI Stream SDKへのデフォルトのパス.
以下を使って Mathematica では変数をチェックできる.
| In[1]:= |
| Out[1]= |
エラーメッセージ
OpenCLInformationが返すエラーメッセージは,CUDAInformationのものと同じである.「CUDALink 検出エラーメッセージ」 を参照されたい.
