週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

NVIDIA特別イベント「GeForce Gaming Celebration」を振り返る

CG界の聖杯「リアルタイムレイトレーシング」に手をかけたGeForce RTX 20シリーズを理解する【前編】

2018年08月23日 06時00分更新

NVIDIAによるレイトレース実装「RTX」

 ではこれからのPCゲームグラフィックはすべてレイトレース法になるか、というとそうでもない。物理的には不正確だが効率よく処理できるラスタライズ法は今後も使われ続ける。逆にレイトレース法は正確な映像が得られるが、そもそも計算量が膨大になる。だから今まで採用されなかったのだ。ラスタライズ法にはラスタライズ法の良いところがあるし、レイトレース法もしかり。レイトレース法はラスタライズ法の弱点を補う形で活用される。

 もちろん、レイトレース法をゲームに組み込むには、ゲーム描画の仕組みとハードウェア側のサポートが必要になる。

 まず仕組みだが、これはすでにマイクロソフトが取り組んでいる。DirectX12にレイトレース法を組み込む「DirectX Raytracing」略して「DXR」だ。正式リリースは今年秋に予定されているが、UnityやUnreal Engine、FrostbiteエンジンなどがDXR対応を表明している。DirectX12ベースなので、これはWindows 10専用の機能であることも強調しておきたい。

 そして、DXRをNVIDIAが実装し、フレームワークにまとめたものが「RTX」である。RTXはレイトレース法レンダリングだけを扱うのではなく、ラスタライズ法も含まれる。さらにそれらの処理に必要な計算処理、AIを利用した効率的な画像処理(特にアンチエイリアス)などがベースになり、DXRをはじめVulkan、NVIDIAの提唱するレイトレース用API「OptiX」などで利用できるようになっている。

RTXは単にレイトレース法だけを扱うのではなく、ラスタライズ法を併用したハイブリッドな描画システムも扱える。さらに、NVIDIAが得意とするディープ・ニューラルネットワークも組みこまれ、生成したイメージの画質向上に利用する。

 気になるハードウェア対応だが、DXRではDirectX12対応のハードなら動作する。GPUのコンピュートシェーダー(GPGPU)を使うから、というのがその理由だ。確かRadeonはGPGPUまわりの機能をとても重要視しており、GeForceがPascalでプリエンプティブ云々と言っている時に1歩先を行っていた。

 だが、そんな汎用性のある回路を駆使して処理するよりも、その処理に特化した回路を載せてガンガン回せばいいよな? というのがNVIDIAの考えであり、今回発表されたGeForce RTX 20シリーズとなる。GeForce RTX 20シリーズに内蔵された「RTコア」は、レイトレース法のための処理を専門で行なう。さらにDNN用にVoltaから導入されたTensorコアも設置されている。だいぶ荒っぽい言い方をすれば、目的の違うプロセッサーをまとめたヘテロジニアスな3コア構成といっても良いだろう。

今回公開されたTuringアーキテクチャーの大構造。CUDAコアは整数演算が14TIPS(Tはテラ、Iは整数を示すInteger、PSはPer Second)、さらに浮動小数点演算も14TFLOPS、整数演算と同時に(完全同時か否か、制約条件などは明らかにされていない)処理することができる。さらにVoltaで導入されたTensorコアをDNN用に、レイトレース処理用にRTコアが用意されている。

 GeForce RTX 20シリーズの発表では、GPUスペックに新たに2つの指標が出現した。まず「Rays/sec」とは、文字通りレイトレース処理において必要なレイ処理を1秒間に何回できるか、というもの。そして2つめの「RTX-OPS」は、このレイトレースを含めた一連のレンダリング処理を1秒間に何回処理できるかという指標になる。さしずめ「レイトレ(RTX)処理/秒」といったところだ。

GeForce RTX 20シリーズにおけるRTXのレンダリング処理を細かくステージ化し、それがどの部分で処理されるかを示したもの。上のバー全体が1フレームの処理で、色のついたバーは、下に同じ色でハイライトされた回路が担当することを示す。緑がレイトレースの処理なのでRTコアが担当、紫はDNNなのでTensorコアという仕組みだ。

SIGGRAPHなどで公開され、リアルタイムレイトレーシングの例として話題を呼んだスター・ウォーズを題材にしたシーンを計算する時間の比較。Volta4枚を搭載した6万ドルのワークステーション「DGXステーション」で55ミリ秒なのに対し、Turingを搭載したマシン(構成は不明)なら45ミリ秒、そしてPascalベースのマシンは308ミリ秒。ここで注目したいのはレイトレースにかかる時間(明るい緑の部分)は圧倒的にTuringが短いが、暗い緑の領域(ラスタライズとシェーディング)についてはマルチGPU構成のVoltaのほうが速い、となっていることだ。

プレゼン前半部分でスター・ウォーズのこのCGをリアルタイムでレンダリングできる6万ドルのDGXステーションを月々わずか19.95ドルの3000回払いで提供! ゲームも1本付けます! と渾身のジョークを放ったジェンスン氏。

 GeForce RTX 20シリーズのRTX 2080の場合「60T RTX-OPS」となっているが、この「60T」の「T」の単位は「Trillion」(1兆)。つまり1秒間に約60兆回実行できるというもの。

 そして、この事実から導き出される結論は2つある。まずひとつ目はこのRTコアを持たない過去のGPUは、レイトレース処理において圧倒的に劣るということだ。RTX 2080(60T RTX-OPS/sec)は、TITAN Xの6倍の性能を持つと謳っている。つまりTITAN Xは10T RTX-OPSであるわけで、RTコアを持たないGPUがいかにRTX処理において不利になるかわかるというものだ。

 2つ目は、ここまで読んだ読者の方はすでにお気づきと思うが、今のところRTコアがラスタライズ法におけるレンダリング処理に貢献しない、ということ。速報記事でジサトライッペイがスペック表をすでに作成済みだが、CUDAコア数は増えているし、メモリーもGDDR6が採用されたことで帯域が太くなっている。そのため、従来のゲームでも遅くなることはあまり考えられないが、RTX対応ゲームが増えない限りRTコアが電気を食うだけのお飾りになることは確かだ。

 しかし、前述した通りマイクロソフトはレイトレース対応のAPI「DXR」をDirectX12にマージし、NVIDIAのRTXもこれに準拠している。つまり、この先10年のGPUに必要とされる機能を盛り込んだ、悪く言えば過渡期、良く言えば先駆けとなるGPUなのだ。

 ここまでがGeForce RTX 20シリーズを理解する上で最低限必要な知識となる。次回は実際にこのGeForce RTX 20シリーズがPCゲームをどう変えるのかを中心にお届けしたい。

■関連サイト
GeForce RTX 20シリーズ製品ページ

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう