今回のスーパーコンピューターの系譜はNVIDIAのGPUについてだ。ClearSpeedがグラフィックに見切りをつけて汎用の数値計算アクセラレーターに舵を切った2002年という年は、NVIDIAがNV30を発表した年でもある。
NV30については以前にGPU黒歴史で紹介したが、旧3dfxの設計チームが手がけた、色々な意味で意欲的過ぎた製品である。
製品としての成功/失敗はとりあえずおいておき、ここでアーキテクチャー的に大きな転換を行なった(関連記事)のは重要なポイントである。もっともこのNV30のような実装は難しいということで、次の世代ではこのアーキテクチャーそのものが放棄されてしまったわけだが、その中でも捨てられなかったものがある。それはソフトウェアまわりだ。
ゲーム以外にも使えるよう設計した
描画エンジン「CineFX」
NVIDIAは「GeForce FX 5800」に搭載された描画エンジンを「CineFX」と称した。GeForce FX 5800世代に搭載されたのが「CineFX 1.0」、次のGeForce FX 5900に搭載したのが「CineFX 2.0」、GeForce 6シリーズに搭載したのが「CineFX 3.0」、GeForce 7シリーズが「CineFX 4.0」となっており、ここでCineFXシリーズは終了している。
以下の画像はNV30のリリース前に、NVIDIAがSIGGRAPH 2002で発表したCineFXのアーキテクチャーの解説である。そのCineFXとは、DirectX 8から導入されたバーテックス・シェーダー/ピクセル・シェーダーをより高機能化したものだ。
下の画像はバーテックス・シェーダーの機能比較である。R300というのはATIのR300コア、つまりRadeon 9000シリーズの比較である。バーテックス・シェーダーは頂点計算などを行なうものだが、DirectX 8.0に実装されているバーテックス・シェーダー1.0/1.1は非常に機能が少なく、さらに128命令以内に収めないといけないため、扱えるプログラムサイズもごく限られる。
R300も内部的にこうした制限を拡張しているが、CineFXではこれを大幅に拡張しているのがわかる。また扱える命令に関しても、数値計算に役立ちそうな命令が各種追加されている。さらにデータ型も大幅に拡張された。このデータ型については説明が必要だろう。
DirectX 8でサポートされるのは、RGB(+αチャネル)が各8bitの整数型で、合計すると32bitという勘定だ。同様にR300ではこれがRGB(+αチャネル)が各々24bitの浮動小数点、CineFXでは各々32bitの浮動小数点をサポートする。
24bitという微妙な数字は、16bitでは精度が十分ではなく、32bitでは扱えるデータの範囲が大きくなりすぎてグラフィックの描画には無駄が多いというあたりからの判断だと思われる。
CineFXは16bit FPと32bit FPの両方をサポートしている。というのも24bitはIEEEのデータフォーマットとしては標準化されておらず、GPUの中だけで使うならともかく外部とのデータ交換を考えると毎回フォーマット変換が必要になり、無駄が多いためだ。
ただCineFXは、あくまで高性能な描画向けシェーダー言語であって、当時の放送業界向けCGですら32bit FPを使うことはマレだった。それもあってか、説明会で「一応32bit FPはサポートはしているが、実際に使うと遅い。メインは16bit FPになると考えている」といった説明があった。
CineFXを利用するための言語としてNVIDIAが提供したのがCgである。こちらの見かけはDirectXのHLSL(High Level Shader Language)に良く似ている。というよりHLSLがマイクロソフトとNVIDIAの共同開発なので似ていて当然というべきだろう。
この後CineFXはDirectX(シェーダーモデル)のバージョンアップにあわせて4.0までバージョンを上げていき、これにともないCgも対応のためにバージョンをあげ、最終的に1.2までバージョンを上げる。
ただ、CineFX 4.0に対応するDirectX 9(シェーダーモデル3.0)の世代で、シェーダー側が十分高機能になってしまったため、当初ほどのCineFXの優位さはなくなってしまった。
→次のページヘ続く (DirectXにお株を奪われるCineFX)
この連載の記事
-
第803回
PC
トランジスタの当面の目標は電圧を0.3V未満に抑えつつ動作効率を5倍以上に引き上げること IEDM 2024レポート -
第802回
PC
16年間に渡り不可欠な存在であったISA Bus 消え去ったI/F史 -
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU -
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ