CUDA

別件の調べ物をしていて、NVIDAのCUDAのページに辿り着いたのでそのまま読みふけってしまう。
GPGPUへの流れは聞いていたが、実際のコードを読むと今すぐにでも手が届くベクトル計算機なんだなと実感。
サンプルコードのうち単純なスカラー積を計算するものを読むと、スカラー計算機しか触ったことの無い人間でも何をやっているか分る程度には抽象化されていた。並列実行などの部分はCに対する言語拡張で記述するが、それほど突飛ではないと思った。想像していたよりもかなり普通のCのコードがGPU上で動作するもんだな。
実行モデルとしては行列とそれに対応した大量のスレッドを想定するようで、スレッド数なんかは手動で指定する必要があるみたいだ。実行ユニット数はラインアップで大小があるし、今後増えていくのでスレッドとユニットの対応なんかを抽象化してくれているのが肝なんだろう。
読んだサンプルではデータの量が小さい上に演算が単純すぎるのでCPUでやった方が速いと思うけど、十分に重い処理ならカタログスペック程度には差がつくもんだろうか。GeForce 8 シリーズならどれでも動くようなので、エントリモデルでも買ってくるかな。