院生T君もいよいよ卒業で残すとこ後一か月である.彼の「作品」であるCuda WaveField Lib(CWFL)やWaveField Graphics Lib(WFGL)をこのサイトにアップロードする前に,やはりまずは自分のコンピュータに入れて試してみる必要がある.卒論・修論の大騒ぎのシーズンも終わったので,あわてて,これらのライブラリを自分のPCにインストールすることにした.
第1日目
GPUの取り付け(交換)
まずは,GPUそのものをインストールする必要がある.昔むかし,そもそもT君が研究室に来る前に自分でGPUを試していた頃,GTX280なる当時最先端のGPUをPCに入れてある.しかし,CWFLはComputeCapability2.0を要求する仕様となっているので,これではダメ.最新のGTX580に入れ替えることにする.
GPU,特に高性能のGPUは,電力を大食いする.しかし幸い,GTX280を入れた時に電源を大型のものに換装してあるので,その点は大丈夫のハズである.しかし・・・,入れようとしたGTX580は,わずかだがGTX280よりデカい! なんとHDDと干渉してうまくPCI-Eに刺さらないではないか.泣く泣く,HDDの場所を入れ替えることにする.しかも,RAID1でペアとなっている別のHDDとのケーブルの関係上,一つのHDDの場所替えではダメで二つ変える必要がある.PCの中身をちょこっといじるだけのつもりだったのが,作業が大掛かりになってしまった.念のため行ったHDDのバックアップに時間がかかったため帰宅が深夜に(涙).
第2日目
CWFLのインストール
いろいろと他に仕事があり,なかなか続きができなかった(大学の教員はなかなか忙しいのです).まず何はともあれ,研究室のサーバーにあるCWFLのセットアップを起動.インストールは問題なく進んだが,あれ,マニュアルはインストーラに入ってないのだな.これは改良が必要かも.
CUDA関係のいろいろをインストール
CWFL自体がライブラリであるが,下請けのCUDAライブラリを呼び出すので,使用するためにはCUDAライブラリもインストールする必要がある.まずは,CUDAのサイト(http://developer.nvidia.com/)に行く.Toolsメニューから「CUDA Toolkit & SDK」というページに移動.今回,CUDA Toolkit 4.1のWindows 64bitというのをダウンロードした.Windowsが,「ダウンロード数が少なくて危険」とのたまうが無視.いきなりmsiファイルなので,これを実行.インストールの種類を「Typcal」,「Custom」,「Complete」の3種類から選ばなければならないが,とりあえず,Completeを選択.
T君のマニュアルではGPU Computering SDKも必要とあるので,続いてこれをダウンロード&インストール.こちらのインストールにはやたら長い時間がかかった.CUDAのサイトにはさらにDeveloper Driversというのが置いてあるが,これが必要とはマニュアルには書いていない.しかし,一応念のため,ダウンロードしておいた.なお,CWFLはWFLと協調して動作するため,WFL3以上を事前にインストールしておくことは当然必要である.
インストールポイントを調べてみると,CUDA Toolkitは「\Program Files\NVIDIA GPU Computing Toolkit」に,CUDA Computing SDKは「\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.1」となっており異なった場所にインストールされている.しかし,ダイナミックリンクライブラリの呼出しに必要なPATHの設定はToolkitのインストーラが自動的にやっていてくれているので簡単であった.
CWFLを用いたプログラムをコンパイルするためにはCUDAのランタイムAPI等のヘッダファイルが必要であるが,そのディレクトリを設定しないと,そのままではVisual Studioから呼び出せない.そこで,Visual Studioの「ツール>オプション>プロジェクトおよびソリューション>VC++ディレクトリ」から,インクルードディレクトリを設定する.今回のインストールでは,
-
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.1\include
-
C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.1\CUDALibraries\common\inc
の二つのインクルードディレクトリの設定が必要であった.この辺りはかなり煩雑である.Nvidiaもインクルードディレクトリぐらい統一しておいてくれたら好いのに・・・とぼやく.
ここまでで,CWFLのサンプルソースのコンパイルは通るようになった.しかし,実行すると,「dllが呼び出せない」エラーが出る.あれれ,必要なPATHはCUDAのインストーラが設定してくれたのじゃないの??とまたぼやく.やはり,Developer Driversが必要なのかと考え,先ほどダウンロードしておいたファイルを実行してインストール.が,しかし,やはりダメである.必要なDLLが呼び出せない.
とりあえず,ここで一旦ギブアップ.