リサーチGPUのプロジェクト「Einstein」 「Einstein(アインシュタイン)」は、製品化されなかったNVIDIAのリサーチGPUプロジェクトだ。Einsteinは、実際の製品としてはVolta(ボルタ)アーキテクチャに受け継がれた。一方の「TTU」はNVIDIAのリアルタイムレイトレーシングハードウェアの開発プロジェクトだ。TTUは、実際の製品ではTuring(チューリング)アーキテクチャの、レイトレーシングアクセラレータである「RTコア」になった。 米サンノゼで開催されているNVIDIA主催のGPUコンピューティングカンファレンス「GTC(GPU Technology Conference) 2019」に合わせて行なわれたNVIDIAのリサーチプロジェクトの説明会で、同社のリサーチ部門を率いるBill Dally氏(Chief Scientist and SVP of Research, NVIDIA/Professor(Research), Stanford University)は、EinsteinとTTUについて次のように説明した。 「(リアルタイムレイトレーシングについては)はじまった頃は“ムーンショット(moonshot)プロジェクト(遠大な目標の計画という意味)”と呼んでいた。何年か前に『Einstein』というリサーチGPUがあった。Einsteinは、Voltaに変化(morph)して大成功した。 そのリサーチの後にリアルタイムレイトレーシングを現実にしようというプロジェクトが立ち上がった。これは、グラフィックスグループと(GPU)アーキテクチャグループのメンバーで立ち上げたプロジェクトだった。社内ではこれを『TTU』と呼んでいた、Tree Traversal Unitの意味で、これがTuringの「RTコア」になった」。 説明のなかに出てくるEinsteinは、過去にNVIDIA GPUのコードネームとしてウワサが流れた名前の1つだ。NVIDIAは、Voltaで、IDのベクタプロセッシングユニットをベースとしているGPUに、マトリックス同士のプロセッシングユニット「テンサーコア(Tensor Core)」を組み込むという荒技をやってのけた。その道程には、リサーチレベルでアーキテクチャの検討があったことがわかる。

レイトレーシングユニットは元はTTUという名称 Turingに組み込まれたレイトレーシングユニットは、開発段階では、TTU(Tree Traversal Unit)という名称だった。この名称は、発表時の名称「RT Core」よりも、ユニットの実態を、より正確に表している。 RTはもちろんレイトレーシングの意味だが、実際のRTコアはレイトレーシングのフローのなかで、レイを伸ばす「トラバーサル(Traversal)」とレイとオブジェクトの交差を判定する「インターセクションテスト(Intersection Test)」しかやらないからだ。 そして、RTコアのアーキテクチャでは、トラバーサルは3D空間のオブジェクトをツリー構造で管理するバウンディングボリューム(BVH)をサポートする。 ツリートラバーサルユニットというコードネームは、実際のハードウェアの機能をそのまま表している。 トラバーサルのための専用ハードウェアがRTコアの実像と言っても、それは理にかなっている。レイトレーシングのフローで、処理が重くハードウェア化の効果が大きいのは、トラバーサルの部分で、NVIDIAにかぎらず、ここをハードウェア化するのが一般的となっている。