RTコアの詳細について(先述の既報記事)でも取り扱っているが、本稿でもあらためて概要を紹介したい。
レイトレーシングは、仮想のカメラに向かうレイ(光線)を逆方向に追跡することで、カメラが見ている物体の見え方をシミュレートする。
成瀬氏は、レイトレーシングの処理について「3Dモデリングされたオブジェクトを構成するボクセルのどこに光が当たるのかを最初に見つける。ボクセルはさらに(物体の基本形状である)三角形メッシュ(=プリミティブ)で構成されており、どのメッシュに光が交差するかを調べる」と説明する。レイが交差したプリミティブはそれぞれ固有の物体面の性質を持っているため、そこからレイの状態を把握することができる。
RTコアでは、レイトレーシングの高速化手法としてBVH(Bounding Volume Hierarchy)を採用し、レイとオブジェクトの交差判定を省力化。RTコアは10Gレイ/秒という性能を発揮すると発表されたが、この見慣れない指標は単位時間あたりに交差判定を行うことができるレイの数を示している。
RTコアが対応するAPIは現時点で、NVIDIAのOptiX、MicrosoftのDirectX Raytracing(DXR)、 Khronos GroupのVulkanとなる。このうち、OptiXはCUDAと併用できるとし(同時使用は不可)、「OptiXとRTコアで得られた何らかの結果を、CUDAで使うことができる」(成瀬氏)とし、RTコアをグラフィックス用途以外のGPGPUで利用可能なことを示唆した。
「RTコアを計算で何に使えるかというと、何か物を飛ばした時にどこにぶつかるかを高速に見つけることができる。例えば、衛星写真の解析にレイトレーシングに似たアルゴリズムが用いられており、こういったアプリケーションを高速化することができるかもしれない」(成瀬氏)
上記について、現時点ではNVIDIAでデモンストレーションを行う状況にまで至っていないとしつつ、成瀬氏はRTコアについて「グラフィックス指向のユニットなので、コンピュート(GPGPU)に関係ないユニットというわけではない」と強調している。
成瀬氏がこのように語った後、聴講者よりRTコアを「熱輻射」の計算に用いたいという提案があった。
この提案によると、熱輻射の計算ではレイトレーシングと同じアルゴリズムを用いているとし、計算対象の物体が増えるにつれて輻射現象が複雑になっているという。そこで、RTコアがレイトレーシングを高速化するのであれば、熱輻射計算の高速化も望めるため、「今すぐにでもRTコアをCUDAで扱えるようにしてほしい」(聴講者)と要望が上がった。RTコアの新しい活用法が、NVIDIAのさらなる飛躍の一手になるかもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.