メディア
ニュース
» 2018年09月18日 11時30分 公開

RTコア1個で性能はCPUの100倍:“通常とは違う過程で登場”したGPU「Turing」は何が新しいのか (3/3)

[長浜和也,EE Times Japan]
前のページへ 1|2|3       

なぜいまRTコアなのか

 Ray Tracingでは、任意の場所に光源を設けて、その光がどのように反射するのかを計算で求めて描画する。NVIDIAの公式ブログによると、この技術を用いたコンピュータグラフィックスは1979年がスタートとされている。日本でも1990年代前半には専用の拡張ボードと組み合わせてレイトレーシングによるCG(静止画)を製作できる(拡張ボードなしでも製作そのものは可能)「C-TRACE」が販売されていた。こうして技術としては長い歴史を持つRay Tracingだが、ハードウェア側の処理能力が不足していて、「このホール(テクニカルセッションを行っているホテルのカンファレンスホール)より大きい部屋にクラスタをいっぱい並べて演算しないと間に合わないぐらい」という状況だったため、ごく一部のプロに限られた手法とされていた。

 TuringのRTコアでは、レイトレーシング手法として「Bounding Volume Hierarchy Traversal」(BVHT:境界ボリューム階層)を取り入れている。この手法によるRTコアの演算処理能力は10Giga Rays/秒(1秒間に10ギガの光線演算を処理できる)という。なお、柿澤氏はテクニカルセッションでBVHTについて説明はしていないが、概要を述べると、描画するシーンに存在する3Dオプジェクトを簡単な直方体に置き換え、そのシーンに設けた光源から出た光線が直方体に当たったと判定できた場合、その3Dオブジェクトを構成する「より細かい直方体」にも当たったか判定していく。この判定を繰り返して最終的に3Dオプジェクトを構成する三角形のポリゴンに光線が当たったとき、初めて光線の反射について計算する(これが従来の描画処理に相当する)。この過程で「直方体に光線が当たっていない」と判定した段階で演算を終了できるので、シーン全体における演算処理のボリュームを少なくすることができる。

 BVHTにしても、それ以外の手法であったとしても、Pascal、そしてVoltaまでのGPUでは、レイトレーシングの処理をシェーダーによるソフトウェア処理で対応してきた。そのため、膨大な演算にSMを占有してしまい全体の処理も巻き込んで遅くなっていた。しかし、Turingでは、レイトレーシング処理命令を受け取った時点で処理を専用エンジンであるRTコアに投げてしまえるので演算処理そのものが速く終了できる。柿澤氏は「これまでの10分の1のリソースで十分になる」とRTコアの効果を訴求した。「Voltaによるソフトウェア処理による演算処理能力はRTコアの10分の1、1Giga Rays/秒にすぎない。CPUによる処理はVoltaの10分の1。RTコア1個の処理能力はCPUの100倍になる」(柿澤氏)

Pascal世代はソフトウェア処理してきたがTuringはRTコアでハードウェア処理が可能になる(クリックで拡大)
2018年9月時点でRTコアが対応するレイトレーシングAPIは、NVIDIAの「OptiX」とMicrosoftの「DirectX Raytracing」(DXR)、そしてKhronos Groupの「Vulkan」が挙がっている(クリックで拡大)
前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.