V-Rayのハイブリッドレンダリングを理解する
V-Ray GPU レンダラーは、CUDA-x86モードと呼ばれる CPU 上で CUDA エンジンを実行することにより、CPUコアを仮想のGPUデバイスとして活用できます。
V-Ray GPU (CUDAモード)はCPU上で実行されるCUDAエンジンと連動して実行できるため、コンピュータ内の全てのリソースを無駄なく活用できます。業界ではこの様なレンダリングを「ハイブリッド」または「XPU」という愛称で呼んでいますが、これは「システム全体を使用する」事を意味するものでもあります。 CUDA と CUDAx86 モードの両方を使用する場合、CPUの寄与は、システムに別の (通常は小型の) GPU を追加した場合と同様であり、最終レンダリングだけでなくインタラクティブレンダリングのパフォーマンスの向上が期待できます。
以下のパスに見つかるスタンドアロンで起動するV-Ray GPUのデバイスセレクター ツールを使用して、GPUレンダリングデバイスを設定できます (またはホストDCCのV-Ray GPU設定からデバイスを選択する事も可能)
C++/CPU が 仮想のGPUデバイスです
3Ds Max: C:\ProgramData\Autodesk\ApplicationPlugins\VRay3ds Max2024\bin Maya: C:\Program Files\Chaos Group\V-Ray\Maya 2024 for x64\maya_vray\bin
V-Ray GPUの CUDA X86 モードはCPUを使用しますが、標準のV-Rayレンダラー(CPUのみで利用可能)と同じではなく、V-Ray GPUのCUDAエンジンを使用している点に注意してください。
ベンチマーク結果
ユーザーから寄せられた4つのサンプルシーンをベンチマークしてみました。これらのシーンでは、仮想のCPUデバイスを追加する事により、レンダリング時間が 21% ~ 34% 短縮された事を示しています。これは、CPU をアイドル状態のままにするのではなく、速度の向上として役立てる事を意味します。 RTX エンジンは技術的な理由からハイブリッドレンダリングが使用できません。RTXの結果もグラフに追加しました。ほとんどの場合、ハイブリッド(CUDA + CUDA-x86) を使用する方が、RTX エンジンを使用するよりも高速になります。
使用されている CPU は Ryzen 9 595X 16 コアで、現在市場で最も人気のあるお手頃なCPUの 1 つです。使用される GPU は RTX 3090 24 GB Founders Edition で、GPUにモニターは接続されていません。(GPUをWindowsのデスクトップ描画に使わず、純粋にV-Ray GPUの処理だけに使用)
CPUでCUDAを実行する CUDA-x86 モードは、V-Ray GPU の全ての機能をサポートし、完全に同一の結果を提供します。強力なCPUをお持ちの場合は、そのコンピューティング能力を全て活用できます。何もせずに放置する事は推奨されません。次のグラフに示すように、コア数が非常に多い CPU (AMD Threadripper など) は、ハイエンド GPU の速度に匹敵する事を確認できます。
さらに、CUDA-x86 モードではシステムメモリを使用してV-Ray GPUを実行でき、ページングもサポートされています。既存の CPU レンダリングファームを使用して GPUシーンをレンダリングできるため、アーティストやスタジオの移行が容易になります。
CUDA-x86 モードの利用に、特別なドライバーやカーネルのコンパイルは必要ありません。マシンにNvidiaドライバーがインストールされていなくても、マシンに GPU がなくても、Cuda X86 モードを使用できます。
遅いCPUのマシンと高速GPUの組み合わせでハイブリッドレンダリングした場合、GPUが殆どの処理を完了しても、遅いCPUのレンダリング完了を待つ必要があるので、結果的に遅くなる可能性があります。