Fedora14でCUDA3.2をインストール
CUDA3.2はFedora13までしかサポートしていない。
しかしソースに変更を加える必要があったが、Fedora14でも使えるようだ。
SDKのコンパイルでは
iomanipヘッダ、surface_function.hヘッダの修正と
いくつかのファイルでshort abs(short)のdevice関数が
定義されていないためにエラーが出ていた。
iomanipはココ(http://origin-software.intel.com/en-us/forums/showthread.php?t=74691&p=2&o=d&s=lr)にあったpatchを参考にして修正。
__INTEL_COMPILERを__CUDACC__にすればいい。
surface_function.hはなぜかFedora13でも同じ問題がでていたわけだが、
まあFedora13の場合と同じ方法で対処。
ってかこの問題ウチでしか出ていない?
abs関数は
__device__ short abs(short s){return (s>0)?s:-s;}
と適当に作った。キャストでabs(int)とかを使ってもたぶんいける。
2011-06-02 追記:
読み返してみたらこのメモ、自分で理解するのに時間かかった。
patchってのは#13の
http://origin-software.intel.com/en-us/forums/showpost.php?p=129975
のことね。そんでこのpatchの__INTEL_COMPILERを__CUDACC__に置換してから
iomanipにpatch当てればよいということ
smokeParticlesは
error: ‘CUDPP_OPTION_KEY_VALUE_PAIRS’ was not declared in this scope
って出て通らなかったからコンパイルやめた。謎。