こちらのきじでもしょうかいしているように、NVIDIAが、6つき16にちにどうしゃのハイエンドGPUラインアップ「GeForce9800」シリーズのこうけいとして「GeForceGTX200」シリーズをリリースした。これまで「GT200」のかいはつコードめいでしられてきたどうせいひんは、240このとうごうがたシェーダユニットをないぞうしており、そのえんざんせいのうは933GFLOPS、ほぼ1TFLOPSにたっする。
【ひょう:GeForceGTX280とGeForceGTX260のひかく】【たのがぞう】 NVIDIAはこのGeForceGTX200シリーズを、ハイエンドGPUとしてだけでなくはんようプロセッサとしてもかんがえており、エンコードやかがくえんざんなどのあたらしいりようばめんをそきゅうしている。
●WindowsVistaのとうじょうぜんごでかわったGPUのにんむ
NVIDIAのGeForceシリーズジェネラルマネージャのユージャッシュ・デサイしは、GeForceGTX200シリーズのせっけいしそうを、「ゲーミングをこえたGPUのりようばめんをいしきしたせいひん」とせつめいする。3Dゲームのびょうがいがいに、GPUにできることとはなんであろうか。
げんざいのPCでは、CPU(CentralProcessingUnit)とGPU(GraphicsProcessingUnit)という2つのプロセッサがどうきょしている。このうち、CPUはOSのきどうやいっぱんてきなえんざんをたんとうし、GPUはグラフィックスまわりのしょり、たとえば3Dがめんのびょうがやどうがのさいせいをたんとうするというようにやくわりをぶんたんしてきた。
しかし、OSがGPUをりようするのはウインドウをびょうがするときにアクセラレーションきのうをつかうていどで、GPUのおもなようとといえば3Dゲームぐらいだった。にっぽんではPCゲームがおうべいほどプレイされないこともあり、せっかくPCにそなわっているGPUのしょりのうりょくがほとんどつかわれていないじょうきょうだ。こくないのおおてPCメーカーがとうにゅうしているラインアップで、ミドルレンジいじょうのGPUをとうさいしたせいひんがすくないのも、こういうじじょうがえいきょうしている。
だが、GPUの3DびょうがきのうをOSでたようするWindowsVistaがとうじょうしてから、じょうきょうはおおきくかわりつつある。WindowsVistaのあたらしいユーザーインタフェースとしてどうにゅうされたWindowsAeroは、GPUの3Dびょうがきのうをりようしてがめんをびょうがする。このため、WindowsVistaをかいてきにりようするためには、CPUやメモリというこれまでのPCでじゅうしされてきたパーツだけでなく、GPUのせいのうもこうりょするひつようがでてきた。ゲームをやらないユーザーにも、PCをこうにゅうするときにチェックするパーツとして、CPUやメモリ、HDDなどといったじゅうらいのじゅうようポイントとならんで、GPUのせいのうもようチェックこうもくとなりつつある。
●げんじつてきではなかったいっぱんようとアプリでのGPUりよう
「これからのPCはCPUだけじゃだめだし、GPUだけでもだめだ。CPUとGPUをバランスよくつかえること、それがじゅうようだとかんがえている」とデサイしはいう。GPUのとくいなぶんやはGPUに、CPUがとくいなぶんやはCPUにというかんがえだ。NVIDIAでは、こうしたCPUとGPUという2つのプロセッサがそれぞれとくいなぶんやをぶんたんするようなかんきょうを、“OptimizedPC”とよんで、これをユーザーにそきゅうするためのマーケティングかつどうをおこなっている。
GPUはベクトルえんざんとよばれるふくすうのけいさんのへいれつしょりをとくいぶんやとしている。たとえば、かがくぎじゅつえんざんや、おなじようなえんざんをくりかえすあっしゅくやかいとう、どうがデータのエンコードやトランスコードなどはほんらいGPUがとくいとするぶんやなのだ。さいきんではCPUもMMXやSSEなどのかくちょうめいれいでそうしたえんざんができるようになっているが、きほんてきにはせいすうえんざんにさいてきかされているので、GPUほどはベクトルえんざんがとくいでない。
しかし、げんざいではベクトルえんざんもCPUをりようしてしょりすることがほとんどだ。そのさいだいのりゆうは、GPUをりようするためのAPIなどがせいびされてこなかったことだ。3Dゲームにかんしては、Direct3DやOpenGLといった、ひょうじゅんかされた、またはじじつじょうのひょうじゅんとひろくにんしきされているAPIがそんざいしている。かいはつしゃがわはひょうじゅんのAPIをりようすれば、どのGPUでもおなじようにプログラムをどうささせるようにコードをかくことができる。
しかし、それいがいのようとにりようしようとなるとGPUによういされているネイティブのめいれいセットをプログラマがりかいし、かつ、それをアセンブラとよばれるきかいごできじゅつするか、Direct3DやOpenGLをつうじてりようするひつようがあった。ぜんしゃのばあいはりかいがひじょうにむずかしいうえに、GPUのネイティブめいれいセットがこうかいされていないというもんだいがあるし、こうしゃのばあいには、はんようアプリケーションをつくるプログラマが3Dグラフィックスにくわしくないため、Direct3DやOpenGLという3DグラフィックスせんようのAPIをりかいするひつようがあるというもんだいをかかえていた。
こういうじょうきょうでは、ユーザーがプログラマに“エンコードとデコードしょりでGPUをりようするプログラムをつくってほしい”とようぼうしてもじつげんはむずかしい。このように、じゅうらいのかいはつかんきょうではいっぱんてきなようとでGPUをりようするのは、ふかのうではないが、げんじつてきではなかったのだ。
●CUDAがかえる“はんよう”GPUのかいはつかんきょう
このもんだいをかいけつするためにNVIDIAがいぜんからよういしているのが、「CUDA」とよばれるソフトウェアプラットフォームだ。
CUDAにはおおきくわけて2つのそくめんがある。1つはユーザーのPCでどうさするランタイムで、CUDAにたいおうしたGPUをとうさいするPCにインストール(じっさいにはドライバといっしょにどうにゅうされる)すると、そのPCじょうでCUDAむけにつくられたアプリケーションをじっこうできるようになる。なお、CUDAはげんざいWindowsXPにのみせいしきたいおうしており、WindowsVistaにかんしてはべーたばんとなっているが、こんかいのGeForceGTX200シリーズのはっぴょうにあわせてCUDA2.0とよばれるさいしんばんをこうかいし、WindowsVistaにもせいしきにたいおうするようになる。
CUDAのもう1つのそくめんは、プログラマにとってメリットとなるかいはつかんきょうのかいぜんだ。CUDAをりようすると、プログラマは、CやCたすたすのかくちょうきのうとして、GPUをりようするきのうをりようできるようになる。プログラマはつかいなれたCげんごをりようしてGPUをりようしたアプリケーションをかいはつできるわけだ。プログラマによけいなふたんをかけることなくGPUをりようしたアプリケーションのかいはつがかのうになるというのは、GPUをりようするはんようアプリケーションのふきゅうにおおきくえいきょうするだろう。
●GeForce8800GTXのばいちかいえんざんせいのうをじつげんするGeForceGTX280
NVIDIAのテクニカルマーケティングたんとうふくしゃちょうトニー・タマシしによれば、GeForceGTX200シリーズは、こうしたCUDAをりようしてさくせいされたアプリケーションをりようするプラットフォームとしてもいしきしたせっけいになっているという。「GeForceGTX200シリーズはゲームようとのりようだけをいしきしたじゅうらいのGPUとはことなるせっけいしそうをもっている。ぐたいてきにはコンピューティングプラットフォームとしてのそくめんをいしきしたせっけいになっている」とタマシしはのべ、それをじつげんするためにGeForceGTX200シリーズのマイクロアーキテクチャのせっけいはおこなわれているとせつめいした。
GeForceGTX200は「ThreadProcessor」とよばれるプロセッサコアを240こないぞうする。それぞれのThreadProcessorはせいすうえんざんきとばいせいど(64ビット)のふどうしょうすうてんえんざんきをそなえ、8このThreadProcessorで「ThreadProcessorArray」というたんいをこうせいする。それぞれのThreadProcessorArrayは16Kバイトのローカルメモリをそなえている。さらに、3つのThreadProcessorArray(=24このThreadProcesor)で「ThreadProcessingCluster」というたんいがこうせいされ、それぞれが1じキャッシュメモリをそなえている。
こうしたこうぞうをとることで、GeForceGTX200シリーズでは3まんをこえるスレッドをGPUぜんたいでしょりできるようになっている(ぜんせだいのGeForce8/GeForce9シリーズでは1まんぜんご)。こうしたえんざんきのぞうかやこうりつのこうじょうなどにより、GeForce8800GTXが533GFLOPS(FLOPSとは1びょうかんにじっこうできるふどうしょうすうてんえんざんのかず)だったのにたいして、GeForceGTX200シリーズのじょういモデルとなるGeForceGTX280では933GFLOPSとばいちかいせいのうをじつげんしている。
もちろん、GeForceGTX200シリーズではグラフィックスしょりにおけるせいのうこうじょうもはかられている。NVIDIAによると、ばいせいどのふどうしょうすうてんえんざんをサポートしたため、テクスチャしょりのせいのうがこうじょうしているほか、ジオメトリシェーダのしょりのうりょくがこうじょうしているという。このほかにもレジスタファイルがばいになり、シェーダプログラムをじっこうするこうりつがこうじょうするなどのとくちょうをそなえている。
●エンコードをGPUにまかせてぜんたいのせいのうをアップする
NVIDIAは、GeForceGTX200シリーズのはっぴょうにあわせてCUDAたいおうアプリケーションをいくつかしょうかいしている。1つはAdobeのPhotoshopCS3をりようしたデモで、デジタルカメラでさつえいしたRAWがぞうをてんかいしてそれをかこうするしょりをGPUでおこなっている。つうじょう、RAWがぞうをよみこんでかこうするばあい、CPUをりようしてえんざんをおこなうとそれなりにじかんがかかり、かこうごのじょうきょうをライブビューでかくにんするのもむずかしい。しかし、GPUをりようしてびょうがとかこうをおこなうことでしゅんじによみこみをかんりょうさせ、ズームなどのかこうさぎょうをかるがるとおこなうことができるようになる。
さらに、べいこくのElementalTechnologiesがさくせいした、GPUをりようしたエンコードソフトウェアのデモもしょうかいされた。「BadaBOOMMediaConverter」とよばれるそのソフトウェアは、CUDAのどうにゅうによってりようかのうとなったGPUをりようしてメディアファイルのトランスコードやエンコードをおこなう。NVIDIAがおこなったベンチマークテストによれば、どうさクロック1.8GHzのデュアルコアCPUにくらべて、MPEG-2からMPEG-4AVCへのトランスコードを18ばいもこうそくにおこなうことができたという。
●プロセッサコア240この“280”と192この“260”
GeForceGTX200シリーズには、GeForceGTX280とGeForceGTX260という2つのモデルがよういされている。
おおきなちがいはThreadProcessorのかずでGeForceGTX280が240ことうさいしているのにたいして、GeForceGTX260は192ことなっている。また、コアクロックやメモリクロックがことなっているほか、メモリようりょうはGeForceGTX280が1Gバイト、GeForceGTX260は896Mバイトとなっている。トランジスタすうは140おくトランジスタ、TSMCの65ナノメートルプロセスルールをりようしてせいぞうされる。
●7000“ペタ”FLOPSがせかいじゅうのPCでねむっている
NVIDIAがGeForceGTX200シリーズのリリースでそきゅうするメッセージはめいかいで、GPUはたんに3Dゲームをやるためだけのものではないということだ。GPUをりようしたPhotoshopやトランスコードのデモでもわかるように、ベクトルえんざんをとくいとするGPUのとくちょうをいかすことで、PCぜんたいのしょりのうりょくをおおきくひきあげることがかのうになる。
にっぽんのPCしじょうにおいて、このメッセージはひじょうにじゅうようだ。おうしゅうやほくべい、アジアなどのくにとくらべて、にっぽんではPCゲームがあまりもりあがっていないげんじょうがあるからだ。このため、せっかくPCにとうさいされているGPUも、たんに3Dけいベンチマークテストをじっこうするだけのむだなはんどうたいとなってしまっていたげんじょうがある。
しかし、GPUをりようしてPhotoshopやトランスコードのしょりがはやくなるなら、にっぽんのPCユーザーでもりようするきかいがふえるわけで、「PCゲームをやらないからGPUなんて、WindowsAeroがひょうじできればじゅうぶん」とかんがえていたユーザーをGPUにふりむかせることがかのうになる。
もちろん、そのためにはGPUをりようしたアプリケーションをせかいじゅうのプログラマやISVにつくってもらうひつようがあり、NVIDIAがやるべきことはまだまだおおい。
スタンフォードダイがくの「Folding@home」というぶんさんコンピューティングプロジェクトをすいしんするビジェイ・パンデきょうじゅは、GPUによるはんようコンピューティングのかのうせいについて、いかのようなコメントをのべている。「じゅうようなことはCUDAにたいおうした7おくこのGPUがせかいじゅうにあることだ。へいきん100GFLOPSのしょりのうりょくがあるとして、ごうけいで7まんPFLOPS(P=ペタ、ペタはテラの1000ばい)ものしょりのうりょくがすでにそんざいしていることをいみしている。このうち、0.1ぱーせんとをFolding@homeにつかったとしても、70PFLOPSのしょりのうりょくをつかえることをいみする」
ちなみに、もんぶかがくしょうがすすめる「はんようきょうそくけいさんき」のプロジェクトでは10PFLOPSのスーパーコンピュータを2010ねんまでにかいはつするとしているが、すでに、それをうわまわるしょりのうりょくがせかいじゅうのコンピュータのなかでねむっているということだ。
このぎょうかいではつねに「ニワトリがさきか、たまごがさきか」というぎろんがくりかえされるが、すくなくともCUDAにかんしてはしらないうちにGPUとしてきょうりょくなプロセッサが「たまご」としてユーザーのコンピュータのなかにそんざいしている。あとは、このたまごをどのようにかえしていくか、それがNVIDIAにもとめられているのではないだろうか。
【かんれんキーワード】
GPU|
GeForce じさくD・I・Y(DoooontoIttemiYo!) アップグレードするならCPUよりGPU──NVIDIAがそきゅうするPCかくちょうプラン NVIDIA、HPCむけしんGPUブランド「Tesla」はっぴょう