2011年4月23日土曜日

CUDAにしようか

しばらく放置されていたGPUコンピューティングですが,機会があって遊んでみることになりました.

DirectComputeを直接使って計算するにはHLSL(High Level Shading Language)を使って開発することになるのですが,(多くの場合)そこで問題が発生します.

まずdoubleでの開発が予想以上に難しい...というのも,組み込み関数はdoubleに対応していないのです.(私の実力不足と言えばそれまでですがorz)

たとえば指数関数を使おうとすると,ご存知の通りマクローリン展開などで適当に実装するわけにはいきません.加えて,乱数が必要な計算の場合には(基本的に)自分で実装することになりそうです.noiseという疑似乱数生成用の組み込み関数はありますが,少々ヤバそうです.(グラフィクス関連の用途には便利だそうですが)

結果的に,HLSLでの開発は断念ということに.代替手段としてCUDA(NVIDIA),あるいはATI Stream(AMD)などがあります.

新しくグラボを購入するほどではなさそうなので,CUDAを使ってみよう!

0 件のコメント:

コメントを投稿