Created on | Updated on
フォローする

コマンドラインレンダリングとGPU選択

RedshiftでMaya(Renderを使用)、3ds Max(3dsMaxCmd.exeを使用)、Softimage(xsibatch.exeを使用)を使用してレンダリングする場合、レンダリングジョブに使用するGPUデバイスを指定できます。 コマンドラインからGPUデバイスを指定すると、Redshift preferences.xmlファイルは更新されないため、インタラクティブモードでMaya、3ds MaxまたはSoftimageを実行すると、Redshiftレンダリングオプションの[システム]タブで指定したGPUデバイスが引き続き使用されます 。

DeadlineとRoyal Renderを含むいくつかのレンダリングマネージャは、RedshiftでレンダリングするときにGPU選択をネイティブにサポートします。 ジョブに対して利用可能なGPUのサブセットのみを選択することは、例えば、最適なスケーリングのために単一のマシン上で複数のフレームを同時にレンダリングする場合に便利です。

前提条件

3dsmaxcmd.exeで使用可能な固定コマンドラインパラメータの性質上、コマンドラインレンダリングのGPU選択では、GPU選択を事前レンダリングスクリプトにコード化し、その後3dsmaxcmd.exeに渡してからレンダリング実行する必要があります。

構文

3dsmaxcmd.exe <scene_file> -preRenderScript:<script_file>

 <script_file>は、コマンドrsSetCudaDevicesの呼び出しを含むMaxScriptファイルへの相対パスです。 rsSetCudaDevicesコマンドは、MaxScript synyaxで1つの配列パラメータを取ります。 MaxScriptファイルの作成は、以下の例に示すようにコマンドラインから直接行うことができます。

GPUデバイス1のシーンc:\ path \を\ scenetorender.maxにレンダリングする:

echo rsSetCudaDevices #(1) > rsSetCudaDevices.ms3dsmaxcmd.exe c:\path\to\scenetorender.ma –preRenderScript: rsSetCudaDevices.ms

 GPUデバイス0と1を使用して同じシーンをレンダリングする:

echo rsSetCudaDevices #(0,1) > rsSetCudaDevices.ms3dsmaxcmd.exe c:\path\to\scenetorender.ma –preRenderScript: rsSetCudaDevices.ms

GPUデバイスIDを確認するにはどうすればよいですか?

各GPUに関連付けられているデバイスIDを確認するには、いくつかの方法があります。

1つのオプションとしては、C:\ ProgramData \ Redshiftからテキストエディタでpreferences.xmlを開き、 "All Cuda Devices"の値を調べることです。 例えば:

<preference name="AllCudaDevices" type="string" value="0:Quadro K5000,1:Quadro 6000," /> 

 この場合、Quadro K5000はデバイス0で、Quadro 6000はデバイス1です。