SM+RTコア+Tensorコアで実現した美しい絵作り

次の図は右下に見えるQuake IIの1つのフレームの処理状況を示すもので、一番上のグラフはPascalのGTX 1080Tiを使った場合の実行状況で、FP32コアでの交点計算に大半の時間を費やしている。2番目のグラフはTuringのRTX 2080を使っているがRTコアは使っていない場合で、FP32コアとINT32コアを使った交点計算の期間が長い。しかし、TuringではFP32と並列にINT32の計算ができるようになったために交点計算の所要時間がGTX 1080Tiと比べて半分程度になっている。

一番下のグラフはRTX 2080でRTコアを使った場合で、黄色の部分がRTコアで交点計算を行っている部分である。同じTuringでもRTコアを使用すると交点計算は4~5倍高速になっている。

  • Hot Chips 31

    レイトレーシングを使って右下のような画像を描画する場合の実行状況を示す。一番上のグラフがレイトレース計算をPascal GPUで行った場合である。2番目はTuring GPUを使用しているがRTコアは使用してない場合。3番目はTuringでRTコアを使用しているケース。PascalからTuringになるとFP演算とINT演算が並列に実行できるので、それだけで2倍程度高速になる。さらにRTコアを使うと交点計算の時間は4~5分の1になる

次の図はQuadro RTXを使ったレイトレースで作成した画面を示すものであるが、左半分はレイトレースだけで作った絵であり、ノイズが多い。右半分はTensorコアを使ってAIのノイズ除去を追加した絵であり、ノイズが無くなりきれいな絵になっている。その意味では、SMとRTコアとTensorコアも動員したTuring GPUの実力を示す絵であると言える。

  • Hot Chips 31

    左半分はRTコアを使ってレイトレーシングで描いた絵であるが、ノイズが多い。右半分は、その絵をTensorコアを使ってAIノイズ除去を行った絵である。AIノイズ除去を行うと画像の品質は大幅にアップしている

NVIDIAのTuring GPUは昔のGPUとは大きく異なり、リアルタイムの推論ができ、Pascal GPUと比べて7倍高速にレイトレースができるという能力を持っている。

  • Hot Chips 31

    NVIDIAのTuring GPUは3Dポリゴンの描画だけを行う昔のGPUとは大きく異なり、AI処理を加速するTensorコア、リアルタイムレイトレーシングを加速するRTコアを搭載したGPUとなっている

なお、TuringのRTコアはレイトレーシング計算の加速機構であるが、10Giga Ray/s程度の性能では、画面いっぱいの絵をリアルタイムにレイトレーシングして作るのは難しいケースが多いと思われる。そのせいか、NVIDIAも最近はリアルタイムのレイトレーシングという表現を使わなくなってきている。そして、ゲームメーカーは、多重反射の映り込みなどが効果的な部分だけにレイトレースを使い、トレースするRayの数を抑えるなどの工夫をしてきている。