GPGPUとCUDA

以前からGPGPU(GPUで汎用プログラミングを行なう)には、いくつかの方法が提案されているのだけど、そのなかでも最近出てきたCUDAはC/C++言語でGPUプログラミングを行なうというものである。CUDAで開発すればターゲットがGPUであることをほとんど意識しなくて済む。


CUDAのSDKはまだ64bit OS用のものやVista用がリリースされていないなど不満もあるが、そのへんは待っていればなんとかなるだろうし、先日GeForce8800GTSの廉価版が発売になったので、これを買うだけでパソコン何十台分にも相当する並列演算機を入手できるというのは何とも魅力である。*1


ニューラルネットワークの学習
・リアルタイムレンダラ
FFTなどの信号処理
・N-queen問題の全解出力


など並列性のあるプログラムに適している。(と思う)



「CUDA」技術の全貌 - GeForce 8800を汎用ベクタプロセッサとして活用!?
http://journal.mycom.co.jp/articles/2006/12/19/cuda/
初の統合型シェーダーアーキテクチャGeForce 8800シリーズ」を試す
http://journal.mycom.co.jp/articles/2006/11/09/g80/
NVIDIA CUDA Homepage
http://developer.nvidia.com/object/cuda.html
GeForce 8800 GTSのメモリ320MBモデル発売、4万円台
http://www.watch.impress.co.jp/akiba/hotline/20070217/etc_nvidia.html

*1:NVIDIAの資料によると、Core 2 Duo E6700(2.66GHz)とCUDA on GeForce 8800 GTXでのベンチマーク結果比較。生物学の遺伝子マッチングは47倍、金融情報処理については197倍、CUDA on GeForce 8800 GTXの方が高速とされる。