今回のスーパーコンピューターの系譜はNVIDIAのGPUについてだ。ClearSpeedがグラフィックに見切りをつけて汎用の数値計算アクセラレーターに舵を切った2002年という年は、NVIDIAがNV30を発表した年でもある。

NV30コア搭載のGeForce FX 5800
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)

この連載の記事
- 第668回 メモリーに演算ユニットを実装するSK HynixのGDDR6-AiM AIプロセッサーの昨今
- 第667回 HPですら実現できなかったメモリスタをあっさり実用化したベンチャー企業TetraMem AIプロセッサーの昨今
- 第666回 CPU黒歴史 思い付きで投入したものの市場を引っ掻き回すだけで終わったQuark
- 第665回 Windowsの顔認証などで利用されているインテルの推論向けコプロセッサー「GNA」 AIプロセッサーの昨今
- 第664回 Zen 3+で性能/消費電力比を向上させたRyzen Pro 6000 Mobileシリーズを投入 AMD CPUロードマップ
- 第663回 Hopper GH100 GPUは第4世代NVLinkを18本搭載 NVIDIA GPUロードマップ
- 第662回 グラボの電源コネクターが変わる? 大電力に対応する新規格「12VHPWR」
- 第661回 HopperはHBM3を6つ搭載するお化けチップ NVIDIA GPUロードマップ
- 第660回 第3世代EPYCは3次キャッシュを積層してもさほど原価率は上がらない AMD CPUロードマップ
- 第659回 ISSCC 2022で明らかになったZen 3コアと3D V-Cacheの詳細 AMD CPUロードマップ
- 第658回 人間の脳を超える能力のシステム構築を本気で目指すGood computer AIプロセッサーの昨今
- この連載の一覧へ