歴史は繰り返す。
久々に、PC界に大きな訴訟戦争が勃発しそうだ。IntelはNVIDIAを相手取りクロスライセンス契約違反?として、NVIDIAチップセット差し止めを求め、裁判所に提訴した。これは、CPU対GPUの代理戦争の様相と言うより、「CPU+GPU+メモリコントローラ」の統合チップ同士の戦争と言っていいものである。
IntelはNehalem世代において、マイクロプロセッサにメモリコントローラを統合するだけでなく、GPUも統合した普及版を準備している。これはNVIDIAにとって、外付けGPUどころかGPU統合チップセットすら存在意義を失わせるものであり、いくらGPU単体での性能が高くても廃れていくのは、これまでの外付けチップの歴史の流れから明らかである。このことは、Intelに先駆けて既にAMDが先行しているように、トレンドというよりも必然の流れといっていいものである。
そこで、NVIDIAはCUDAやGPGPUというマイクロプロセッサ(CPU)を脇役に追いやる戦略をとりつつ、本命のx86互換プロセッサをGPU統合プロセッサと結びつける、もっといえばGPUのコプロセッサとしてx86互換プロセッサを統合(同じダイというよりもマルチダイ、あるいは高速バスでの接続)したものを登場させる準備を進めてきても不思議ではない。これが、Intelを提訴に踏み切らせた原因であるのは確かだろう。
Intelが技術力で勝てる自信があるものは、わざわざ提訴などしない。例えば、Transmeta社のCrusoeについては、Intel社は提訴などしなかった(逆はあったが)。だが、提訴しない代わりに超低電圧版Mobile Pentium IIIで出鼻をくじき、BaniasことPentium Mをぶつけることで、Crusoeの存在意義を技術力と性能で打ち負かした。提訴するだけの著作権違反行為がなかったからでは?という意見もあるが、開発を遅らせたり、訴訟費用をかけさせたり、OEM先に圧力をかけることが訴訟の第一義なので、中身など言いがかりでも何でもいいのだ。それだけの危惧を抱かせるようなことがNVIDIAにはあり、それこそが強力なGPU統合チップセットとx86互換プロセッサの組み合わせにある。
OSでもWindows Vistaへの移行が進まず、さらに軽いとされるWindows 7が出てくることからも明らかなように、マイクロプロセッサ単体の演算能力はそれほど必要はなくなっている。それどころか、マルチプロセッサの時代に入り、一つのプロセッサの能力はそれほど高くなくてもよくなり、それよりもGPUの性能の方がはるかに重要になってきている。しかも、リッチなマルチメディアコンテンツを処理するには、CPUよりもGPUの方が効率的だということもCUDAによって示されるようになり、既にCPUは脇役に甘んじつつあるのが現状と言えよう。
Intelのアキレス腱はGPUにあることは、ここ10年近くのIntelグラフィックス統合チップセットを見れば自明である。AMDはATIと一緒になったので、IntelはNVIDIAと一緒になるかもしれないと見ていた頃もあったが、NVIDIAはGPUという今にも地球温暖化で沈みそうな島に固執するのではなく、GPU統合チップセットのさらにその先を目指した。先にもふれたように、CPU自体の価値はそれほど高くなくなっているので、GPUのパフォーマンスが圧倒的であれば、多少CPUが劣っていても結果的にトータルパフォーマンスはGPUに引っ張られることになる。つまり、IntelよりもNVIDIAの方が優れている、となるわけである。
実際、NVIDIAの製品が見えないので何とも言えず、またGPU同士の性能差とCPU同士の性能差では、何を比較に置くかで変わるが、Intelが訴訟を起こしたという事実から、間接的に判断できるだろう。PCを構成する主要チップメーカが三社体制になるのか、二社体制のままで行くのか。Intelはうまく立ち回らないと、反トラスト法というもう一つの厄介な問題も出てくる恐れもある。見た目はクロスライセンス契約の問題だが、これは全面戦争の様相を見せることだろう。NVIDIAの死とならなければよいが、どうなっていくだろう。
最近、Windows 7 64bit ベータ版のPCを組みました。CPUはAMD Phenom 9600(TLBエラッタあり)
ビデオはATI RADEON HD4670で、常時 SETI@home と Folding@home を走らせています。
Foldingの方は、RADEON GPUに広く対応(もちろんCUDAやPS3にも)しており、Team 2chに参加
しています。 SETIクライアントはCUDA対応のみで、4タスク動作中です。そのうち Open CL版が出
てくるかもしれません。
確かにCUDAやFoldingでのGPUクライアントの処理速度はCPUのそれを凌駕していて、遊んでいた
GPUが働いてくれるのは頼もしいのですが、Windows Vista上で、GPUはGeforce 9800 GTを使い
Folding と SETI を実行したらば両方ともGPUで実行されて、Vistaの画面描画がカクカクするように
なって精神衛生上よろしくありません。アプリケーションを作る人は、GPUとCPUのバランスもとるよう
気をつけてほしいです。
投稿情報: Nikapyon | 2009/02/20 07:16
Nikapyon 様、コメントありがとうございます。
いいマシンをお組みになられ、うらやましい限りです。
仰せの通り、マルチプロセス・マルチスレッド環境においては、一つのアプリケーションソフトウェアがそれを長時間占有してはならないという、当たり前の常識がありますが、GPGPU(CUDA)のそれは自アプリケーションソフトウェア内でのマルチスレッドは考慮しているものの、他アプリケーションソフトウェアとのマルチプロセスはあまりに無頓着です。
理由は、GPUリソース(演算データ及び状態)の待避が大変だということに尽きるでしょう。今のCPUのように頻繁にプロセスを切り替えることが前提となっていないGPUでは、切り替えることそのものがボトルネックです。よって、クリティカルセクション等を使ってスレッド間の同期を取るわけですが、そうすることで今度はプロセス(スレッド)間の切り替えが遅くなる(スムーズに行かない)。つまり、カクカクになってしまう。
結論としては、CPUと同じくマルチGPUにするのが一番なのですが、今度はそこまでのGPUパフォーマンスが必要なのか(Core i7が必要かというのと根は同じ)という問題が出てきて、結局は特殊な使い方は例外&高価となってしまう流れになるでしょうか。
みんなが気にしていなかったGPUをみんなが気にするようになって、新たな需要(使い道)が掘り起こされる。NVIDIAにとっては、この道に進むべくしか戦略上ないにもかかわらず、それをIntelに断たれてしまう。Nehalemアーキテクチャ云々だけではない問題だと思いますね。
投稿情報: XWIN II | 2009/02/20 08:32