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

ATI、デビッド・E・オートン社長兼COOインタビュー
~Shader 4以降の技術トレンドを聞く




 DirectX 9 GPU世代になって大躍進するATI Technologies。
 同社のナンバーツーとして経営のみならず技術の方向性を担うDavid E. Orton(デビッド・E・オートン)社長兼COOに、今後の技術ビジョンについて伺った。


●Shader 4以降のGPUの技術トレンド

David E. Orton 社長兼COO
【Q】 2005年にはDirectX 10のShader 4が登場する。Shader 4では、DirectX 9 Shader 2/Shader 3から大きく拡張され、より汎用的な演算ユニットに近づく。また、Vertex ShaderとPixel Shaderの違いも小さくなる。Shader 4以降のGPUの全体の技術トレンドをどう見ているか。

【Orton】 Shader 4.xについて言えば、パイプラインを通じてのプログラマビリティと一貫性の拡張が、背景にあるアイデアだと考えている。バックエンド(ピクセルパイプ)まで一貫性を備え(VertexとPixelでShaderのアーキテクチャの統一化が進むという意味)、一般的な意味でのプログラマビリティを得る(より一般的な命令セットに拡張するという意味)。グラフィックスエンジンを、より汎用化すると言い換えてもいいかも知れない。

 グラフィックスアーキテクチャがこうした方向性へ向かう理由の第1は、スケーラビリティを拡張することにある。限られた数のエンジンを高速に動かすのではなく、より並列化されたエンジンにすることが、(GPUの性能向上にとって)現実的なソリューションだからだ。

 2つ目の理由は、純粋にシリコンの集積度の向上だ。その結果、以前のような専用化されたカスタムレイアウトの整数演算ユニットではなく、完全なプログラマビリティを備えた浮動小数点演算ユニットを備えることが可能になった。

 3つ目の理由は、プログラマからの要請だ。開発者たちは、ミドルからハイレベルの(抽象化された)グラフィックスアーキテクチャを切実に求めている。そのため、我々は、彼らが扱いやすいハイレベルビュー、つまり抽象化のレベルの高いインターフェイスを用意しなければならない。

 我々は限られたスペシャリストのためのGPUを作っているのではない。誰もがプログラムできるようにするためには、通常のCコンパイラのような、汎用的なコンパイラ環境を提供することが必要だ。そうした環境が整うと、多くの開発者が(シェーダプログラムを開発することで)グラフィックスエンジンに付加価値を加えてくれるようになる。

 グラフィックス業界の技術は、中期的にはこうした方向へと向かっている。

●科学技術演算をGPUの上で実行する

【Q】 GPUの汎用性を高めることが今後のトレンドだとしたら、その先には何が待っているのか。

【Orton】 長期的なトレンドを見ると、もっと面白いことが起きつつある。(PCなどのCPUが処理する)従来型のソフトウェアは、分岐や条件分岐命令などによって、規則性の薄いパターンを多く含む。そのため、並列に処理するのが難しい。それに対して、グラフィックスのソフトウェアは、かなり規則性がある。ほぼ直線的なプログラムだ。だから、グラフィックスプロセッサのエンジンを並列化するのは非常に容易だ。

 ところが、面白いことに、科学技術演算のプログラムも、(グラフィックスプログラムと)同じような振る舞いをする。直線的で規則性がある。だから、ベクタスーパーコンピュータが現在行なっているような処理は、グラフィックスプロセッサでもできると思う。多分、長期的にはそれが技術トレンドとなるだろう。

【Q】 今年のSIGGRAPHでは、まさにGPUを使ってシミュレーションなど科学技術演算を行なうという研究結果が発表された。Microsoft ResearchもProfessional Developers Conference (PDC)で、シミュレーションや物理計算をGPUにやらせるというビジョンを示した。

【Orton】 そうだ。それこそが、まさに今起こりつつあることだ。

 グラフィックスエンジンは、“汎用の”、“並列化された”、“ベクタ型の”、“浮動小数点”エンジンになりつつある。だから、グラフィックスエンジンを使って、一般的なベクタ演算、レイ(ray)トレーシング、イメージプロセッシング、シグナルプロセッシングなどをやらせようという動きが起き始めている。

【Q】 レンダリングサーバーファームのGPU化はどうなのか。

【Orton】 オフラインレンダリングも、今のところサーバーファームでCPUがやっている。しかし、今後はグラフィックスプロセッサベースのサーバーファームも視野に入っている。

 もっとも、レンダリングサーバー市場は、ボリュームの面ではデスクトップPC市場とは比べものにならないほど小さい。我々が主に見ているのは、年間1億ユニットのPC市場で、ワークステーションの4~500万の市場は、興味深いが、我が社をそこにフォーカスさせるほどの規模ではない。しかし、科学技術演算コミュニティ、レンダリングコミュニティ、どちらにも面白い可能性があると思う。

●32bit化へ向かうShaderの演算精度

【Q】 だが、その方向へ進むことは、CPUとGPUのパーティショニングを変えることを意味する。CPUとの競合は起きないのか。

【Orton】 パーティショニング問題、つまり、GPUがCPUを脅かしつつあるという見方は確かにある。なぜなら、ある種のアプリケーションはCPUからGPUへと移る可能性があるからだ。

 論理的にはその意見は正しい。しかし、実際にはGPUはやはりある種の専用化されたエンジンで、CPUとは異なる。CPUとGPUは棲み分け、GPUがCPUにとって脅威とはならないと思う。おそらく、科学技術演算のコミュニティは、汎用のCPUと特化したGPUの組み合わせという方向へと向かっていくと思う。

【Q】 科学技術演算をGPU側に取り込むには、演算精度が必要になる。最低でも32bit浮動小数点精度が必要だ。だが、ATIのGPUのPixel Shaderの内部演算精度は24bitで不足している。

【Orton】 確かに現在の製品は24bit精度だ。しかし、我々はここ(24bit)に留まるつもりはない。

【Q】 次のステップでPixel Shaderも32bit精度にするということか。

【Orton】 わりとすぐ(pretty soon)だ(笑)。

 もっとも、32bit以上の演算精度となると話は別だ。科学技術演算では、64bit精度も求められている。しかし、グラフィックスでは画面表示を考えた場合、32bit以上の精度が必要になる理由はあまり見あたらない。グラフィックスの場合、演算精度はダイナミックレンジを意味する。しかし、クオリティを考えた場合、32bit以上のダイナミックレンジが必要な局面がない。32bitで十分だ。私は、“決してない”とはいいたくはないが、近い将来にグラフィックスプロセッサが64bitになることはないだろう。

 64bitは実装上も難しい。私自身はスーパーコンピュータ側から来た(元SGI)が、64bitが大きな問題だったことを覚えている。アドレススペースの拡大だけでなく、演算ユニット(の実装)の面からも困難だった。

●Shaderパフォーマンスとメモリ帯域

【Q】 今後のGPUでは、シェーダパフォーマンスとピクセルパフォーマンスそれにメモリ帯域、このバランスはどうなっていくのか。ムーアの法則によるプロセッシング能力の向上と比べると、メモリ帯域の拡大は遅い。そのため、シェーダパフォーマンスを伸ばす方向へ向かうのが論理的だと推測するが。

【Orton】 一般的に言えば、その予測は正しい。

 まず、Shaderサブシステムが今後どうなるのか。Shaderのプログラマビリティはより複雑になっていくが、メモリ帯域(に対する要求)はそれほどではない。なぜなら、(Shader内で)1ピクセル当たりに費やされる(プロセッシングの)時間が増えるからだ。メモリ帯域が必要なのは、ピクセルを取り込んだり移動させる時なので、こちらは、それ(プロセッシングパフォーマンス)ほどは増えない。とはいえ、Shaderがより高速になると、メモリ側も伸ばす必要が出てくる。

 問題は、ムーアの法則では18カ月間で2倍になるが、メモリの法則は異なることだ。メモリの容量はムーアの法則に沿って増えるが、メモリ帯域の向上はそうではない。確かに、ギャップはある。

 しかし、今後、2~4年については、メモリ技術自体の高速化も順調に続くと予測している。新メモリアーキテクチャとして、DDR2、GDDR3、さらにその先も見えているからだ。また、メモリ帯域について言えば、実メモリ帯域だけでなく、(GPUの)メモリアクセスの効率化(圧縮技術など)も非常に重要だ。これについても、今後も強化していく。

 ただし、メモリインターフェイス自体は、ハイエンド製品でも256bit幅に留まるだろう。256bit以上のメモリインターフェイスは、今のところ考えていない。

 GPUのパフォーマンスは、(GPUコアの)クロックレートとアーキテクチャ、そしてメモリ帯域によって決まる。我々はシェーダプログラミングの動向を見て、どこまでShaderの並列性の拡大や、クロックレート向上が必要かを見極める必要がある。プログラム処理が速くなると、それによってメモリ帯域もより必要になる。Shader数とメモリ、そしてシリコン面積のバランスを取りながら考えることになる。

【Q】 GPUのダイサイズ(半導体本体の面積)の増大は今後も続くのか。

【Orton】 グラフィックスチップのダイ(半導体本体)エリアは、以前は100平方mmだった。それが140平方mmになり、今では200平方mmに近づいている。しかし、私はこれが400平方mmまで増えていくとは思わない(笑)。全般的なコストを考えると、それは難しい。ある制約の中で、いかに必要な機能を詰め込むかという話になるだろう。

●鈍化するプロセス技術とDirectXの革新

【Q】 現在の問題は、ファブレス企業にとってムーアの法則が鈍化する気配が見えていることだと思う。ファウンドリのプロセス技術トレンドは、0.13μm以降はプロセス移行のスピードが鈍化しているように見える。そうすると、今後、プロセス技術の進歩でGPUの搭載トランジスタ数を、従来通りのペースで増やし続けることは難しくなる。

【Orton】 その通りだ。

 プロセスの移行を見てみよう。0.18μm、0.15μm、0.13μmと来て、0.11μmに今移ろうとしている。その後は90nm、75nm、65nmと続く。0.18μm、0.13μm、90nmがリアルステップで、0.15μmや0.11μmはハーフステップ(中間世代)だ。

 これまでを見ると、ハーフステップを含めると、我々は約12カ月間隔でプロセスを移行してきた。ところが、今やプロセス移行は、18カ月間隔から場合によってはそれ以上へ、スローダウンしつつある。グラフィックスチップにとって、次の世代へ移る最大のドライバは、プロセス技術だったのに、ペースが落ちてきているわけだ。

 問題はプロセス技術だけではない。グラフィックスチップにとって、もうひとつの鍵はDirectXだが、これも2年間隔へとスローダウンしている。例えば、DirectX 9は、Shader 2.xと3.xの2段で24カ月のサイクルになっている。明らかに、遅くなりつつある。

 プロセスはグラフィックスチップに搭載できるトランジスタ数を決定し、DirectXは実装する仕様を決定する。ところが、プロセスも変わらない、DirectXも変わらないとなると、トランジスタ数や基本アーキテクチャは大きく変えられない。

 そのため、我々は異なるレベルの創造性を発揮しなければならなくなっている。つまり、プロセスもアーキテクチャも、移行がスローになった期間に提供する、新しい付加価値を作り出していかなければならない。

【Q】 具体的にはこの問題はどう解決していくつもりなのか。

【Orton】 我々が期待している要素のひとつはOpenGLだ。ATIもNVIDIAも、OpenGLが業界にとって重要だと考えている理由はそこにある。(ベンダーレベルでの拡張性のある)OpenGLなら、新発明のアーキテクチャをスタンダードAPIの中に加えることができる。もちろん、我々はDirectXフル互換は維持するが、革新のペースを守るためにOpenGLも必要としている。

 もうひとつの要素は、デジタルメディアだ。我々は、幅広いビジュアル環境をデジタルメディアと呼んでいるが、この分野をさらに拡張して、PCにより豊かなユーザー体験をもたらすことができると考えている。

 こうした方向で、我々は1年毎の技術革新のペースを保とうとしている。これは我々だけの問題ではない。IntelもMicrosoftも、本質的に、PC技術の1年毎の革新に依存している。毎年革新があるから、人々は4年毎に新しいPCに買い替えるわけだ。もし、これが5年毎になってしまったら、その分、PC市場が縮んでしまう。だから、1年毎の革新のペースを維持する必要がある。

【Q】 今回で言えば、PCI Expressも新しい付加価値の要素となるのではないのか。

【Orton】 その通り、まさにPCI Expressは、革新の要素になる。PCI Expressは、グラフィックスだけでなく、I/Oデバイス全体にとって重要な革新だ。

●PCI Expressによって汎用プロセッサ化が進む

David E. Orton 社長兼COO
【Q】 PCI Expressはグラフィックスに何をもたらすのか。私は、PCI Expressの意義は帯域よりも、双方向性にあると思う。PCI Express x16は、片方向4GB/secで双方向8GB/sec。従来のグラフィックスの使い方だと、上り(GPU→CPU)の4GB/secが空いてしまう。この上り帯域をうまく使うのはポイントだと思うが。

【Orton】 私もそう思う。PCI Expressによって、データの移動については、より均質(homogeneous)なシステムアーキテクチャになる。それがポイントだ。

 これまで、グラフィックスデバイスが抱えていたのはI/O問題ではなく、出力(Out)問題だけだった。全ては、画面に出力するから、データの流れは一方方向だった。しかし、今後、GPUにイメージプロセッシングやシグナルプロセッシングをやらせるようになるなら、I/Oが問題となる。おそらく、PCI Expressはこうした処理の時に役に立つだろう。

 PCI Expressによって、データアウト(CPU→GPU)だけでなく、データイン(GPU→CPU)が高速になる。そうすると、(データをCPUに戻さなければならない)イメージやシグナルのプロセッシングといった処理も、グラフィックスプロセッサで扱えるようになる。オフラインレンダリングも同様だ。つまり、PCI Expressによって、グラフィックスプロセッサがより汎用的なプロセッサになる。多分、それが今後の重要な方向性になるだろう。

【Q】 GPUにとって消費電力も大きな問題になりつつある。GPUの高機能化とともに消費電力はどんどん増えている。この問題にはどう取り組んでいるのか。

【Orton】 確かに消費電力は大きな問題だ。消費電力は、キャパシタンス×周波数×電圧の二乗で導かれる。だから、周波数が上がっても、電圧が下がると問題はないはずだが、実際にはチップがどんどん大きくなっているためキャパシタンスが増える。そのため、消費電力は段々上がっている。しかも、消費電力は、ノートPCだけの問題ではない。デスクトップPCでも、消費電力の増大は、熱設計と電力供給の面で大きな問題になりつつある。

 この問題に対処するために、我々は基本的に(GPU上の)利用していない部分をディセーブルにする技術で対処してきた。例えばクロックゲーティングだ。

 しかし、消費電力ではもうひとつ、ダイナミック電流対リーク電流という問題もある。ノートPCの場合、このスタティック電流(=リーク電流)がダイナミック電流よりも問題だ。なぜなら、アイドル時の消費電力を上げてしまうからだ。

 このリーク電流の問題を解決するために、クロックゲーティングに加えて、プロセスやトランジスタ技術での改革も進めている。また、物理設計の改良で、チップの一部を完全にディセーブルにできるようにする、それもリブートすることなく、そんな根本的な革新も進めている。

●高次サーフィスとセキュリティ機能

【Q】 昨春インタビューした時に、あなたはグラフィックスの大きなトレンドは高次サーフィシズ(Higher Order Surfaces)のサポートに向かっていると語った。しかし、業界全体で見ると、まだまだその方向には向かっていないように見える。

【Orton】 これは答えるのが難しい質問だ(笑)。

 私が十数年前にSGIに加わった時には、SGIでは多くのエンジニアが高次サーフィスの開発をしていた。しかし、実際に普及させるには大きな問題があった。それは、モデリングコミュニティが、高次サーフィスに対応していなかったからだ。最大の問題は標準で、誰もが対応するスタンダードな手法がなかった。

 私は、おそらく高次サーフィスが本当に離陸するのかどうかの判断を保留しておいた方がよさそうだ。振り返ると、私は'90年代の中盤には(高次サーフィスが)離陸すると思っていた(笑)。しかし、実際には今も直線のポリゴンだ。だから、いつ高次サーフィスが受け入れられるかは、今は予測ができない。

 だが、理想的にはグラフィックスエンジンは高次サーフィスのサポートに向かった方がいいと思っている。それは、グラフィックスにはデータエクスプロージョン(data explosion)という根本的な問題があるからだ。データ量を減らすには高次サーフィスが有効だ。

【Q】 ハードウェアベースのセキュリティ技術が浮上している。Microsoftは「Next-Generation Secure Computing Base (NGSCB)」を、Intelは「LaGrande」を発表した。どちらも、グラフィックスチップにセキュリティハードウェア、特に、フレームバッファの保護機能を要求している。これはGPUにどんな影響を与えるのか。

【Orton】 アーキテクチャ面では大きな影響がある。(フレームバッファの)暗号化と復号化の機能を、レンダリングバックエンドに実装する必要がある。しかし、これは、パフォーマンスに直接には影響はしないだろう。

 ただし、シリコンコストには影響する。暗号化の回路のために、ある程度のシリコンを加える必要あるからだ。そうすると、我々はレンダリング機能に使うことができるシリコンを、暗号化に使わなければならなくなる。その意味では、パフォーマンスに間接的なインパクトはあるかもしれない。

 この分野では、取り組みを始めている。私の感触では、アーキテクチャ上の改革は段階的なものになると思う。鍵となるのはフレームバッファの保護だが、これについては、すでに確立された手法がいくつかある。シリコンの観点から、どれがもっとも効率的な手法なのかを注意深く考える必要がある。

□関連記事
【10月2日】【海外】R360/RV360ことRADEON 9800XT/9600XTの進化点
http://pc.watch.impress.co.jp/docs/2003/1002/kaigai028.htm
【2002年7月10日】【海外】「DirectX 9は全く新しい世界を開く」と語るATI
http://pc.watch.impress.co.jp/docs/2002/0710/kaigai01.htm
【2002年5月27日】【海外】CPUをはるかに追い抜くGPUのトランジスタ数
http://pc.watch.impress.co.jp/docs/2003/0527/kaigai01.htm

バックナンバー

(2003年11月28日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


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

Copyright (c) 2003 Impress Corporation All rights reserved.