Unreal Engine 5のAI画像加工で、TensorRT for RTXを推論ランタイムに選べるようになった。NVIDIAのRTX 5090を使った1080pのサンプル測定では、後処理のenqueueタスクがDirectMLの5.7ミリ秒に対し3.8ミリ秒だった。
NNEにRTX向け推論ランタイムを追加
Unreal Engine 5のNeural Network Engine(NNE)は、AIモデルの推論を複数のランタイムへ振り分けるための抽象化層だ。NVIDIAが追加したNNERuntimeTRTプラグインにより、その選択肢にTensorRT for RTXが加わった。
このランタイムが対象とするのは、Turing世代からBlackwell世代までのNVIDIA RTX GPUである。NNEを使う開発者は、対応するGPU上でTensorRT for RTXを推論経路として選択できる。
GPU別の最適化と描画処理への接続
TensorRT for RTXは、利用者のGPUに合わせて推論エンジンを実行時に生成する。モデルのコンパイルは利用者の環境で一度行われ、そのGPU向けに最適化されたエンジンを推論に使う。
NNERuntimeTRTは、CPUから同期的に呼び出すGPU推論に加え、Render Dependency Graph(RDG)を通じた実行にも対応する。RDG経由ではモデルの評価を描画リソースと結び付けられるため、画像の後処理をフレームの描画工程に組み込める。
画像後処理サンプルでランタイムを切り替える
NVIDIAの比較用サンプルは、固定カメラの場面にスタイル変換モデルを後処理として適用する。同じ場面でDirectMLとTensorRT for RTXを切り替え、処理時間を比べる構成だ。
このサンプルでは、Neural Post-Processingが参照するNeural Profileの固定されたランタイム一覧へNNERuntimeTRTを追加する。変更したUnreal Engine 5.7をソースからビルドすることで、後処理から新しいランタイムを選択する。
RTX 5090での後処理タスクは3.8ミリ秒
NVIDIAがGeForce RTX 5090を使い、1080pのサンプルをUnreal Insightsで測定した結果、後処理段階のenqueueタスクはDirectMLで5.7ミリ秒、TensorRT for RTXで3.8ミリ秒だった。同じサンプルにおけるこのタスクの所要時間は、TensorRT for RTXのほうが1.9ミリ秒短い。
画像寸法を広げてタイル分割を避ける
サンプルで参照するONNXのスタイル変換モデルは、入出力寸法が224×224画素に固定されている。大きなフレームへタイル処理で適用すると、1フレーム内で複数の推論タスクが生じ、CUDAとグラフィックス処理の間の切り替えも増える。
NVIDIAは、この切り替えを避ける方法として、モデルの入出力寸法を720×720画素へ変更する手順を示した。タイルに分けずに推論する構成を、画像後処理サンプルで利用できる。