10のGPUハードでのサポートは2方向へと分化しつつある。Shaderの実装で、用途毎に個別の種類のShaderを用意する「独立(Independent)Shader」を取るか、それとも、単一の種類のShaderに統合する「Unified-Shader」を取るかの2方向だ。10世代GPUでは、Shaderの構成を一新したUnified-Shader型のアプローチが標準になると思われていたが、従来型のIndependent-Shaderも併存する。10対応GPUを市場に出荷するつもりだ。10対応GPUのサンプルを完成させる予定になっているという。10)ランタイムとの互換性チェックを行なうためだという。Refresh」のフェイズとなる。10はVista以外では提供されない。GPUはVistaのスケジュールの遅れにある程度影響される。GPUハードの基本的なスケジュールは変わらないと見られる。「Vistaの遅れは、GPUの開発計画に全く影響しない。10対応GPUは、2年も前から開発をしているからだ。Scientist)は説明する。GPUで、Unified-Shaderアーキテクチャ型の実装を取る。10をサポートする見込みだ。NVIDIAは、時期も他の2社よりやや早く、年内を目指しているようだ。NVIDIAが他社よりもリリースを速くできるとしたら、それは、実装上の未知数要素の少ないIndependent-Shader構成を取るからだと思われる。10サポートを既存パイプラインまたはその拡張で実現しようとしているようだ。して、これだけの大きな違いが生まれるのか。10がラディカルな改革だからだ。9から大きな革新となる。そのため、ハードウェア実装では、どういう選択を取るかで姿勢が分かれる。大まかな構図で言うと、次のようになる。10での変化に合わせてハードも急改革、API側の新フィーチャを最大限に活かすべきという立場を取る。そのために実装が重くなっても、Unified-Shaderによるフレキシビリティなどの利点の方が意味が大きいと考える。10に対応はするものの、ハードの改革は漸進的でなければGPUの生パフォーマンス向上を維持できないと見る。オーバーヘッドを考えて、実装面ではラディカルな改革は抑え、パフォーマンス効率を追求する。10イコールUnified-Shader」とは位置づけない。Microsoftはよりプログラミングモデルを統合化しやすいUnified-Shaderを望んでいると推測される。Conference)」での、Microsoftのプレゼンテーションからも、そうした思惑が見え隠れした。Independent-Shaderを取ると見られるNVIDIAも、Unified-Shaderを否定しているわけではなく、移行が漸進的に進むだろうと言う。大枠で言えば、Unified-Shaderがゴールになるという点では、グラフィックス業界は一致している。そこへ至るスピードでは温度差がある。その理由はGPUパフォーマンスの維持にあるだけに、Microsoftも、無理強いができない状況にあると考えられる。10の正体は、GPUに、より汎用コンピューティングに向いたAPIをもたらすことにある。API側の改革は、GPUハードウェア側に、大きな変革を要求する。10のグラフィックスパイプラインの特徴は、大きく整理すると次の4点となる。out)(4)直交型(Orthogonalized)のフレームバッファこの4フィーチャは、全てがGPUのプログラマビリティの向上につながっている。その中でも(1)(3)(4)は、プログラミングモデルの汎用性の向上につながる。10の論理パイプラインだ。Shaderからフレームバッファへの出力であるストリームアウトが加わる。Shader以外はメモリへの直接の出力ができなかった。Shaderからメモリに直接書き込みができるようになる。10論理パイプラインPDF版はこちらビデオメモリは、この図ではさまざまなバッファに分かれているように見えるが、実際の管理は一体化される。全体がメモリアレイとして、各Shaderから自由にアクセスが可能となる。今まで、GPUは、これはテクスチャ、これは○○バッファといった形でメモリを管理していた。10では、いずれもメモリアレイ上のデータとして扱われ、リソースは「View」として定義されることで区別されるようになる。簡単に言えば、CPUのような柔軟なメモリ管理に変わるわけだ。地味ながら、メモリ管理はGPUの汎用化のカギの1つと言われている。GPU:GPGPU)の可能性について、次のように語っていた。「GPUはメモリモデルが非常に複雑だ。これがGPUで汎用コンピューティングを行なう場合に問題になるだろう。この制約を緩めるなら、可能性が出てくる。10では、まさにこの部分が改良されるわけだ。ModelでShaderフィーチャの統一をGPUはこれまで、ほぼ論理パイプラインをそのままハードウェアで実装してきた。10世代でも、Independent-Shader実装にする場合はそうなる。上の垂直型の論理パイプラインをそのままハードウェア化するイメージだ。Shaderとストリームアウトをパイプラインに加え、全Shaderにメモリパスとテクスチャユニットを設け、Shaderの演算ユニットを拡張、メモリ管理を改良することで対応すると見られる。それに対して、Unified-Shaderの場合、パイプラインを水平に倒して、下のようなShaderアレイに物理的に再構築する。Shaderといった役割は動的に割り振られることになる。論理パイプラインは、Unified-Shader上の仮想的なパイプラインとなる。Model」をサポートすることが求められる。Shaderのフィーチャセットの統一化が図られるからだ。Microsoft)は、次のように説明する。Shader全てが、基本的には同じ機能を持つ。(それぞれのShaderの)非常にユニークな特殊機能は、(全てのShader間で)プラスマイナスされ、共通化される。したハードウェアでは、ニーズに応じてリソースのアレンジとパイプラインのコンフィギュレーションが可能になる」これまでは、各Shader毎にフィーチャの違いがあった。10では、APIセット上では各Shaderが共通になるようにする。Modelと呼んでいる。ModelはAPI上の統合であって、実装を定義しているわけではないことだ。10のサポートは可能だ。MicrosoftのGlassenberg氏が言うような、ニーズに応じたリソースのアレンジをフレキシブルにやろうとすると、Unified-Shaderの方が適する。Microsoftの本音は、Unified-Shader実装にあると見られる。Microsoft)は、GDCのプレゼンテーションで、将来のGPUの物理パイプラインの仮説として下のプレゼンテーションを示した。GDCでのプレゼンテーションちなみに、Microsoftは以前、API上のShaderの統合化もUnified-Shaderと呼んでいた。Modelと呼び変えている。これは、物理的なShader統合化の名称としてUnified-Shaderが定着したため、混同を避けたのかもしれない。●Unified-Shaderの準備を進めるATIとS3Unified-ShaderかIndependent-Shaderかの選択は、Microsoftの強制力が完全には及ばない範囲にあり、GPUベンダーによって異なる。10対応は、おそらく論理パイプラインをそのままハードウェアで実装する形に近いものになると推定される。Graphicsの2社だ。ATIは、4年も前からUnified-Shaderの利点を説き続けてきた。GPU(Xenos)」では、Unified-Shaderを実装済みだ。PC向けGPUでも、Unified-Shader実装への下準備を着々と進めてきた。X1800(R520)などですでに実装をしている。Processor」などをR5xxシリーズで備えた。2007年の「R6xx」ファミリでのUnified-Shader化への準備は、ほぼ揃った状態だ。Units」を備えると説明する。1のサンプル出荷は2006年夏頃で、製品が実際に市場に出るのは2007年になる見込みだ。1は90nmプロセスで、比較的大型のチップになる。Light)市場もターゲットにできるという。4.0のUnified-Shaderへと移行する見込みだ。10サポートへと向かうGPU。10の基本コンセプトに微妙な影を落としている。APIの構想の根底にあるコンセプトは、次の4項目だ。10の構想PDF版はこちら実装上の違いは、このうちの一貫性に影響する可能性がある。10では、ハードウェアを通じての一貫性が提供される。コンソール(ゲーム機)のような一貫性だ。すべてのベンダーのハードで、同じフィーチャが同じビヘイビア(behavior)をするように、厳密に要求している」と語っていた。10では、GPUが同じ機能を持ち同じように動作することが求められている。10では、それを前提に、「Capsチェック」を廃止する。従来のように、CapsによってGPUに実装されている機能を調べて、ロードするプログラムモジュールを変えるような面倒を省くわけだ。9からの反省がここに見える。DirectXと対応GPUの開発は、MicrosoftとGPUベンダー間の綱引きで決められる。そのため、実際にGPUサンプルが上がって見ると、実装上使い物にならない機能が出てきたりといった問題が発生する可能性がある。GPUの物理的な実装で大きな違いがあると、コンソール並の一貫性を保つことは難しいかもしれない。