今回のスーパーコンピューターの系譜は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)
この連載の記事
-
第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 -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU -
第790回
PC
AI推論用アクセラレーターを搭載するIBMのTelum II Hot Chips 2024で注目を浴びたオモシロCPU -
第789回
PC
切り捨てられた部門が再始動して作り上げたAmpereOne Hot Chips 2024で注目を浴びたオモシロCPU -
第788回
PC
Meteor Lakeを凌駕する性能のQualcomm「Oryon」 Hot Chips 2024で注目を浴びたオモシロCPU -
第787回
PC
いまだに解決しないRaptor Lake故障問題の現状 インテル CPUロードマップ -
第786回
PC
Xeon 6は倍速通信できるMRDIMMとCXL 2.0をサポート、Gaudi 3は価格が判明 インテル CPUロードマップ - この連載の一覧へ