さてさて前回の更新から1ヶ月近くたってしまったんですが、いろいろ忙しかったんす。申し訳。
引き続きOpenCL勉強しています。自分のためにも、ここに記録します。
OpenCLインストール方法ってか使うまで準備
実行環境
Intel Core i7 CPU 920 @2.67GHz 2.66GHz
GeForce 9800 GT
実装メモリ(RAM) 6.00GB
Windows 7 Professional 64bit
Microsoft Visual Studio 2010 Professional
OpenCLはMacは最初からサポートされているらしい
ぼくはWindowsなのでいろいろインストールしなければならないらしい
①OpenCL SDKを入れる(Windowsの場合)
http://software.intel.com/en-us/articles/vcsource-tools-opencl-sdk/ に行って右上の青いところからダウンロード(別に登録しなくてもいける)
そんでインストール
②NVIDIAのOpenCLドライバを入れる(NVIDIAの場合)
http://developer.nvidia.com/cuda-downloads に行って自分の環境にあったものをNVIDIAドライバ、CUDA Toolkit、GPU Computing SDKの順にダウンロードし、インストール
基本的にインストールは次へ連打でおk。でもGPU Computing SDKの保存場所は覚えておくように。のちのち使う。
③Visual Studioへの環境設定
ぼくは学校でもらえるMicrosoft Visual Studio 2010 Professionalを使ったが、無料で入手できるVisual C++ 2010 Expressでも出来るらしい
ここからが少しややこしいんだけど、、、
これはプロジェクトを作るたびに毎回設定しなければならない。まずVisual Studio起動して、「ファイル」→「新規作成」→「プロジェクト」で新しいプロジェクトを作る。このときにインストールされたテンプレートでVirtual C++の中でOpenCLではなく普通のWin32コンソールアプリケーションを選ぶ。名前は何でもいい。次へを押し、アプリケーションの設定で追加のオプションのカラのプロジェクトにチェック。完了。
次にソリューションエクスプローラのソースファイルのフォルダを右クリックし、「追加」→「新しい項目」を開く。そしてC++ファイルを追加する。
ここから具体的な設定に入る
1.次にソリューションエクスプローラにあるプロジェクト名を右クリックし「プロパティ」へ。
まずしなければならないのは、構成を「アクティブ(Debug)」から「すべての構成」
に変更する。そして「構成プロパティ」→「C/C++」→「全般」を開き、「追加のインクルードディレクトリ」に次のパスを登録する。
Intelの場合
“C:Program Files (x86)IntelOpenCL SDK2.0include”
また、環境変数の相対パスを使ってもできる。その場合は、
$(INTELOCLSDKROOT)include
と指定。
NVIDIAの場合
“C:ProgramDataNVIDIA CorporationNVIDIA GPU Computing SDK 4.2OpenCLcommoninc”的なパスを指定。エクスプローラで確認してみると良い。
また、環境変数の相対パスを使ってもできる。その場合は、
$(CUDA_INC_PATH)
と指定。
IntelとNVIDIAの両方を設定したい場合は「;」で区切ってください。
2.プロパティを開いたそのまま、「構成プロパティ」→「リンカー」→「全般」を開き、「追加のライブラリディレクトリ」に次のパスを登録する。
Intelの場合
“C:Program Files (x86)IntelOpenCL SDK2.0libx86”
環境変数の相対パスだと
$(INTELOCLSDKROOT)libx86
NVIDIAの場合
“C:ProgramDataNVIDIA CorporationNVIDIA GPU Computing SDK 4.2OpenCLcommonlibWin32”
環境変数の相対パスだと
$(CUDA_INC_PATH)libWin32
ここでは32bit版か64bit版かでパスが変わってきます。エクスプローラで確認してみると良い。
3.プロパティを開いたそのまま、「構成プロパティ」→「リンカー」→「入力」を開き、「追加の依存ファイル」に次のライブラリ名を登録する。
IntelもNVIDIAも共通で
「OpenCL.lib」
大文字小文字を間違えないように。また、すでにライブラリが登録されている場合は、「;」をつけてから書き加える。
以上でOpenCLの設定は終わりです。
基本的にコンパイルはVSで行うことになると思うが、コマンドプロンプトでやる場合には
g++ main.cpp -lOpenCLl
でコンパイルすることができる。