後藤弘茂のWeekly海外ニュース

NVIDIAインタビュー(下)
~プログラム性と性能の両立を重視するGeForce FX




 次世代GPU「GeForce FX(NV30)」を発表、スポットライトが当たるNVIDIA。同社で、Chief Scientistを務めるDavid B. Kirk(デビッド・B・カーク)氏に、GeForce FXのアーキテクチャや今後の方向性などについて話を伺った。

(上)から続く

●CineFXはDirectX9の拡張機能に

NVIDIA Chief Scientist David B. Kirk氏

[Q] GeForce FXの内部アーキテクチャであるCineFXは、DirectX9(MicrosoftのマルチメディアAPI)を大きく拡張している。Microsoftは夏頃、DirectX9の拡張規格であるDirectX9.1を定義していると説明していた。CineFXは、DirectX9.1に当たるのではないのか。

[Kirk氏] MicrosoftがDirectX9.1を定義しようとしているかどうかは知らない。しかし、今、MicrosoftはDirectX9を複数のレベルの機能性(のAPI群)としてリリースしようとしている。つまり、DirectX9の基本機能があり、さらにいくつかの拡張機能があるといった形になる。Shaderでは、Pixel Shader 2.0とVertex Shader 2.0が基本機能で、それを超える拡張も提供される。その拡張部分は、対応するハードウェアがある場合にアクティブになる。例えば、NV30の提供する、より長いシェーダプログラム(Shader上で走るグラフィックス用プログラム)や条件分岐などだ。これは、他のGPUはサポートしていない。

[Q] DirectX9は実質的に階層構造になり、基本機能だけのGPUもあれば、拡張機能を持つGPUもあるという形になると考えていいのか。

[Kirk氏] そうだ。

[Q] CineFXアーキテクチャでは、シェーダプログラムの中で膨大な数のシェーダ命令や依存テクスチャ読み込みなどをサポートしている。しかし、大きすぎるシェーダプログラムは実際にはリアルタイムには実行できない。現実的にはGeForce FXはどの程度の規模のシェーダプログラムをリアルタイムに実行できるのか。

[Kirk氏] GeForce FXの発表で使ったデモでは、かなり複雑なシェーダ(プログラム)を使っている。確か、ドーン(妖精)の皮膚は200命令程度のピクセルシェーダプログラムだったと思う。ピックアップトラックのデモのシェーダは100命令以上かな。正確な数字は覚えていないが、あのレベルのグラフィックスを実現できるシェーダは、十分走らせることができる。

 実のところGeForce FXは出発点に過ぎない。次の世代のGPUは、さらにずっと速くなり、より長いシェーダを実行できるようになる。

●ディスプレイスメントマッピングをPixel Shaderで実現

[Q] SIGGRAPH(7月に開催されたCGのカンファレンス)の時、あなたにGeForce FX(NV30)がディスプレイスメントマッピング(ジオメトリをマッピングで大きく変形させる技術)とテッセレーション(平面分割)をサポートしているかという質問をした。

 あなたは直接その質問に答えずに次のように言った。「プログラマブルアーキテクチャで面白いことは、人が考えないようなことができることだ。例えば、ピクセルパイプラインが浮動小数点精度になるため、ジオメトリ処理をピクセルパイプラインで行なえる。ピクセルパイプラインを使ってディスプレイスメントジオメトリとメッシュを作ることもできる」と。これについて、もう少し詳しく教えて欲しい。Pixel Shaderで、ディスプレイスメントとメッシュ生成を行なうと考えていいのか。

[Kirk氏] そうだった。あの時はまだ言えなかったので、あなたにヒントだけを与えた。今は、もっと話すことができる。毎回会うたびにパズルのピースをあなたにあげるわけだ(笑)。

 NV30では、頂点のディスプレイスメントマッピングを、レンダリング過程で行なうことができる。また、ディスプレイスメントマッピングを行ないながら、頂点プログラムとピクセルプログラムを走らせることができる。

 まず、Vertex Shaderで頂点(座標)列に処理を行なう。それから、その結果の頂点データをPixel Shaderにインプットする。Pixel Shaderはディスプレイスメントテクスチャ(高低値データ)を読み込み、頂点にディスプレイスメントを加えたデータを(頂点バッファに)書き出す。次に、これ(頂点+ディスプレイスメント)をもう一度、Vertex Shaderにインプットして処理する。これで、ディスプレイスメントマッピングができる。

[Q] そうではないかと想像したのだが、確信が持てなかった。これで、CineFXアーキテクチャであなたがPixel Shaderのデータ精度と命令セットをVertex Shaderに近づけた理由がわかった。

[Kirk氏] その通り。我々のアーキテクチャだけがこれをできる。というのは、GeForce FXは完全に32bit精度の浮動小数点演算をPixel processorでサポートしているからだ。ジオメトリデータを完全にPixel processorでも保持できる。データのロスは生じない。

[Q] NVIDIAの設計思想は、Shaderのプログラム性を高めることで、固定されたハードウェアの処理の多くをShaderに移すことにあるように見える。

[Kirk氏] そうだ。それは、我々の方向性のひとつだ。我々は、ある処理のための(固定機能)ハードウェアを設計しない。なぜなら、(ハードウェアが)フレキシブルであれば、処理できるからだ。例えば、ディスプレイスメントマッピングを行なうプログラムをShader向けに書くことができるわけだ。

●プログラムハードウェアへと移行を進める

[Q] これは私の読者からの質問だ。髪の毛のような微細な構造の表現には、半透明ポリゴンの描画が必要となる。そのためには、ピクセルレベルでの並べ替え(ソート)と合成が必要になる。私は、御社が、こうした機能を固定ハードでサポートするつもりはないと思う。しかし、現在のProgramable Shaderでこうした処理は可能になるのか。

[Kirk氏] あなたが言うとおりだ。我々はソーティングは(固定ハードウェアでサポート)しない。しかし、Shaderでソーティングができるか? 多分、できると思う。正直な話、これまでこの問題は考えたことはなかった。しかし、我々のPixel Shaderは、非常にフレキシブルなプログラミングモデルを持っている。多分、フロントからバックへとソートしてレンダーするようなPixel Shaderプログラムを書くことはできるだろう。

 これも、ディスプレイスメントマッピングと同様だ。特定のハードウェアを設計はしないが、プログラム性が解決できる。

[Q] 3DlabsはP10/P9(Wildcat VP系GPU)アーキテクチャで、アンチエイリアシングやブレンディングといった処理もプログラマブルにしている。NVIDIAはこうした方向性は考えていないのか。

[Kirk氏] もちろん考えている。実際のところ、パイプラインはどんどんプログラマブルになっている。だから、現時点でもPixel Shaderを、アンチエイリアシングやフィルタリング、ブレンディングに使うことは可能だ。なぜなら、Pixel Shaderはフレームバッファへの読み書きと演算ができるのだから、当然、これら(の機能)をPixel Shaderでプログラマブルに処理することも可能だ。

[Q] ただし、トレードオフはパフォーマンスになるのではないのか? アンチエイリアシングやブレンディング処理は、固定ハードウェアの方がどう見ても速そうだ。

[Kirk氏] その通りだ。決まり切った処理の場合は、ハードワイヤドの固定機能(ユニット)による処理の方がずっと速い。プログラム性のあるユニットしか持たない場合は、この処理が非常に遅くなる。非常にフレキシブルだが、非常に遅いプロセッサになってしまう点が問題だ。しかし、我々のアーキテクチャの場合はどちらの利点も取れる。つまり、高速に処理したいならハードワイヤド演算を使う。Pixel Shaderによるプログラム性を望むなら、それもできる。

●レンダリングファームの置き換えも視野に

[Q] 次のGPUの目標は? まだやることは残っているのか?

[Kirk氏] 山ほど残っている。例えば、今は画面に1体の妖精だけを出すことができる。しかし、将来は妖精の大群を飛ばしてみたい。GeForce FXの実現する画像は素晴らしいが、完全ではない。例えば、あなたはデモを見て「オー、なんてきれいな女性だ」とは決して言わない。「素晴らしいグラフィックスだ」という。我々はかなり(現実に)近づいてきたが、まだゴールにはほど遠い。

[Q] 将来、NV30のようなプログラマブルGPUを並列に並べた処理システムで、レンダリングファーム(映画CG制作などで使われるレンダリング用サーバー群)を代行することができるようになると思うか。

[Kirk氏] それは可能だろう。実際に我々は映画スタジオと協力して、彼らのCG制作プロセスをGPUに移行できるように手伝っている。いったん彼らのデータフローをアレンジしてしまえば、彼らはGPUを使って映画を作れるようになる。そうしたら、彼らのサーバールームには、GeForce FXマシンが並ぶことになるだろう。多分、そのマシンは複数のGPUを搭載しているだろう。これはエキサイティングだ。

[Q] Cgによってシェーダプログラムだけを売るようなビジネスが産まれると思うか。

[Kirk氏] まずは、シェーダライブラリを作り、それを共有するところから始まると思う。PCでは人はC言語でプログラミングして、それを売ったり、フリーソフトにしたり、オープンソースにしたりする。同じことがシェーダ(プログラム)についても起こるだろう。ある人々はシェーダを自分たちの製品のために書いてそれを売る。一方、別な人々はシェーダを公開して提供する。実際に、そうしたWebサイトは産まれてきており、我々も支援している。シェーダがWebサイトで公開されていて、人々がそれを使ってゲームなどを作れるようになるわけだ。

●ダイサイズの大きなGeForce FX

[Q] NV30(GeForce FX)は1億2,000万トランジスタを搭載している。RADEON 9700もそれに近い。2003年のハイエンドGPUのトランジスタ数は、1億台になったように見える。

[Kirk氏] 来年は、多分2億になるだろう(笑)。ムーアの法則があるから。

[Q] メインストリーム製品はどうなのか。こちらはコストの制約がきついためにダイサイズを大きくできない。現在のメインストリームGPUは3,500~5,000万トランジスタ程度だ。2003年にはこれが5,000~7,000万程度になると推測しているが、どうなのか。

[Kirk氏] 5,000~7,000万トランジスタ...、それはいい推測だな(it's good guess)。私自身も正確には言えない、推測しているだけだが。

[Q] NV30(GeForce FX)のダイサイズ(半導体本体の面積)はどのくらいなのか。NV30のトランジスタ数は、NV25(GeForce4Ti)より約2倍に増えた。しかし、製造プロセスは0.15μmから0.13μmへ約80%縮小しただけだ。面積の縮小率は二乗で得られるので、70%程度となる。そうすると、計算上、NV30のダイはNV25の約140%(約200平方mm近く)ということになる。

[Kirk氏] 我々はダイサイズは明かしていない。しかし、あなたのように計算すれば、かなり近い数字を得ることはできるだろうな(笑)。まあ、RADEON 9700よりずっとパワフルだから、ダイもそれなりに大きいことは間違いない。

[Q] GPUのダイサイズは、どんどん大きくなり続けている。今後、まだ大きくなるのか。

[Kirk氏] この傾向は続くと思う。

[Q] それでコスト的に成り立つのか。ダイが大きくなればコストがぐっとアップする。

[Kirk氏] ハイエンドGPUに関しては成り立つ。また、製造面でもどんどん効率が良くなっている。だからチップサイズが大きくなったとしても、効率的に製造できるだろう。だから、それなりの価格で売れるなら問題はない。

[Q] 同じプロセス技術で同じトランジスタ数なら、ATIの方がNVIDIAよりもGPUのダイが小さい。これはどうしてなのか。性能追求のためなのか。ダイが大きいのはコスト面では不利だ。

[Kirk氏] 確かに我々の方がダイが大きい。しかし、その分、パフォーマンスは高い。あなたも指摘した通り、性能を引き上げることにフォーカスしているからだ。もっとも、我々も、次第にアーキテクチャをもっと効率的にして、同じ性能を維持しながらダイを小さくできるようにして行く。

●90nmプロセスへの移行はまだかなり先

[Q] NVIDIAのファウンダリであるTSMCは、すでに次のプロセス技術90nmの製造プランを発表している。GPUの90nmへの移行はいつ頃になると思うか。

[Kirk氏] 90nmへの移行がいつになるかは、まだ見えない。ファウンダリのスケジュールは知っているが、GPUを量産できるのはいつかというのは別問題だ。なぜなら、我々は数百個や数千個の製品を製造しようとしているのではないからだ。我々の求める製品ランプは非常に迅速だ。例えば、GeForce FXファミリも、最初の3~6カ月で100万個単位で出荷することになる。つまり、それだけ量産できるようになるまで待つ必要がある。我々は(新プロセス)を最初に使いたいが、早まって準備ができない段階で使いたくない。

[Q] Microsoftの「Palladium(パレイディアム)」など、ハードウェアセキュリティのアーキテクチャが出てきた。そうしたアーキテクチャでは、GPUにもフレームバッファを保護する仕組みなどの搭載を求めている。NVIDIAはどう対応するのか。

[Kirk氏] セキュリティは非常に重要だと思っている。また、この問題に関しては、他のPCの部品供給者と密接に協力する必要があると考えている。だから、我々は「Trusted Computing Platform Alliance (TCPA)」(セキュアPCの規格化を進める業界団体)のメンバーとなり、必要な技術の開発に協力している。我々は、まだ何も(セキュア対応の)製品を発表していないが、すでに行動はしている。また、セキュアPCは、我々抜きにはできない。

[Q] 次にインタビューをするのは、多分、次世代GPUの時かな? それはかなり早いと思っていいのか。

[Kirk氏] すぐだろう(笑)。

□関連記事
【11月21日】【海外】ATIの勝算とNVIDIAの勝算
~GPU戦争の次のフェイズ
http://pc.watch.impress.co.jp/docs/2002/1121/kaigai01.htm
【11月20日】【海外】ついにベールを脱いだNVIDIAの次世代GPU「GeForce FX(NV30)」
http://pc.watch.impress.co.jp/docs/2002/1120/kaigai01.htm
【11月19日】NVIDIAが次世代GPUのNV30をGeForce FXとして正式発表
http://pc.watch.impress.co.jp/docs/2002/1119/comdex04.htm

バックナンバー

(2002年12月11日)

[Reported by 後藤 弘茂]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright (c) 2002 Impress Corporation All rights reserved.