Eddy for Nukeは、システム内の複数のGPUを利用して、シミュレーションとレンダリングの両方のタスクを、単一のEddyプロセスから使用可能なGPUデバイス全体に分散できます。
必要条件
一緒に使用されるGPUデバイスは、ピア・ツー・ピア(P2P)通信に対応している必要があります。 P2Pを利用できるようにするには、いくつかの要件があります。
- GPUは同じアーキテクチャ世代のものである必要があります。同一のGPUを使用することをお勧めします。
- GPUは同じPCIeルートコンプレックスに接続する必要があります。これは通常、デュアルCPUソケットのマザーボードを使用している場合にのみ発生します。
- GPU間のNVLinkブリッジは必須ではありませんが、利用できる場合は特にシミュレーションでのパフォーマンスが向上します。
Windowsの場合、追加の要件があります。
- GPUデバイスはTCCモードになっている必要があります。 TCCモードのデバイスはディスプレイ出力には使用できず、完全に演算専用です。すべてのカードがTCCモードに対応しているわけではありません。一般に、Quadro、Tesla、およびGeForce Titan GPUでのみ利用可能です。
ご注意
マルチGPUサポートを有効にする
自動選択
Eddy for Nukeが起動すると、システム内で最も速いGPUを自動的に選択します。複数のGPUがある場合でも、それらは自動的には有効になりません。以下に説明するように、それらを手動で選択する必要があります。コンソールウィンドウには、どのGPUが選択されているか、そしてどのGPUが非アクティブかが表示されます。
手動でのデバイスの選択
自動選択が希望するデバイスを選択していない場合は、EDDY_DEVICE_LIST環境変数を使用して、Eddyが使用するGPUを明示的に選択できます。これは、デバイスIDのコンマ区切りリストに設定できます。たとえば、EDDY_DEVICE_LIST = 0,2を使用して、デバイス0と2を有効にします。利便性のために、起動中はコンソールウィンドウにデバイスIDが非アクティブデバイスのIDを含めて表示されます。
ご注意
パフォーマンス
有効化したマルチGPUを使用すると、レンダリングパフォーマンスはほぼ直線的な割合でスケールすることが期待できます。
シミュレーションのパフォーマンスは、一般的に、シミュレーションが十分に大きくなったときに初めて向上します。経験則として、シミュレーションに1フレームあたり数秒かかる場合は、マルチGPUでパフォーマンスが向上します。これより速いシミュレーションは、マルチGPUから利益を得られないかもしれません。