GeForce 8800

 を、買ったわけではないです(笑
なんせGTSで6万もするんでうかうか手が出ない。
ハイエンドGPUにはあまり興味がなかったんだけど(あんまりゲームしないので)、GeForce 8800シリーズはちょっと興味深いかも。
今まではたいていの場合、汎用計算はCPUで、GPUはグラフィック関係の計算のみを担当すると棲み分けがあったはずなのだが、最近その垣根を無くす方向で進化しているらしい。
今回のGeForce 8800で何が画期的かって、GPU用の専用Cコンパイラが提供されること。
http://developer.nvidia.com/object/cuda.html
CUDAのページでレジストすれば誰でも使える?のかな?
ここまで本格的にGPUを汎用計算に使うという話は(nVidiaがトップシークレットにしてたこともあって)今までなかなか無かったのだが、数ヶ月前のAMDATI買収の話からしても、もはやCPUとGPUは融合するというのはほぼ間違いない思う。
そもそも、どうしてそんな流れになってきたかを考えると、やはり根底にはシングルCPUでの処理能力の向上が頭打ちになっているというのがいろんな意味で影響してきているのだと思う。
数年前はRISCチップ全盛の時代で(Pentium4すら内部的には完全にRISCチップ)、実行命令の種類を減らして簡単な計算に分解して、それをたくさん回すというのがトレンドだった。
ちょうどそれを支えるかのように、CPUクロックは目眩く倍々ゲームで伸びていったわけだが、消費電力量の壁にぶつかって以来急速にCISCへのよりもどしの動きが起こっている。
Core系列のCPUなんかも、CISCの良さを積極的に取り入れることで低消費電力、低クロックで高パフォーマンスを達成している。
しかし、それでもよりもどしの動きに歯止めはかからないみたいで、もはやCPUが持つべき命令セットを超越してGPUのリソースまでかり出し、もう使える演算ユニットは何でも使えという状況になりつつある。ということなのだろうか。
もちろん、今のCPUで処理が追いつかないような計算というと大概マルチメディア系の計算になるわけで、そう言った計算にはGPUの演算ユニットが向いているという事情もあるのだが。
一応、金融から科学技術計算までハイパフォーマンスで計算できるというのがGeForce 8800シリーズのうたい文句らしいので、これからこれからいろんな分野で利用が進んでいくのかもしれない。
ただ、今はまだちょっと試すには価格が高すぎというのと、CUDAに最適化されたコード書いても一体いつまで使えるのかなという不安はあるのでなかなか手が出せないというのが実情だけど…。