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
って出て通らなかったからコンパイルやめた。謎。