| On this page | |
| Since | 10.0 |
HQueue/Houdini Queueは分散ジョブスケジューリングシステムです。 これには、HQueueサーバーおよび演算ノードのファーム、またはクライアントが含まれます。 サーバーはユーザからジョブサブミッションを受け取り、使用可能なクライアントへ割り当てます。
HQueue Render出力ドライバは、ファームで分散を行なうためにレンダージョブをHQueueにサブミットします。
実際のレンダリングは Output Driver のパラメータで指定されたノードで実行されます。
通常はMantra ROPですが、
Composite ROPや他の出力ドライバでも可能です。
ジョブコマンドのカスタマイズ ¶
The HQueue ROP nodes use the command templates found in $HFS/houdini/pythonX.Ylibs/hqueue/HQueueCommands.xml to build the commands executed by the jobs that the ROP nodes submit. The job command templates can be customized to run applications with different options, in different environments or run different applications altogether.
To customize the HQueue job commands, make a copy of HQueueCommands.xml and paste it in the Houdini user preferences directory, $HOUDINI_USER_PREF_DIR/pythonX.Ylibs/hqueue/HQueueCommands.xml. Open the file copy in a text editor and edit the command templates for the desired applications and platforms.
The following job command templates can be customized:
Job Command Template |
Description |
|---|---|
|
The command template used to launch non-graphical Houdini (hython). This template is used by jobs that cook Houdini node networks such as simulation jobs and Mantra IFD creation jobs. |
|
The command template used to launch the Karma renderer. This template is used by Karma render jobs. |
|
The command template used to launch the Mantra renderer. This template is used by Mantra render jobs. |
|
The command template used to launch Python. This template is used by jobs that execute Python scripts that do not require Houdini such as the tracker job in distributed simulations. |
Note
HQueue executes job commands in a bash shell by default on Linux and macOS and in a Command Prompt terminal on Windows.
Note
The command templates are written in XML and therefore must escape special characters in order to be compliant with the XML specification. For example, '&' must be replaced with the '&' XML escape sequence. Alternatively, the XML character data section (i.e. <![CDATA[) can be used instead of escaping the special characters.
Here is an example of customizing the Python command templates to run with a system Python distribution instead of with the Houdini Python distribution:
<?xml version="1.0" encoding="UTF-8" ?> <commands> <python> <linux> echo "Running system Python on Linux..." && /usr/bin/python3 </linux> <macos> echo "Running system Python on macOS..." && /usr/bin/python3 </macos> <windows> echo "Running system Python on Windows..." && C:\Python311\python.exe </windows> </python> ... </commands>
And here is the same example using the XML CDATA section instead of escaping special characters:
<?xml version="1.0" encoding="UTF-8" ?> <commands> <python> <linux><![CDATA[ echo "Running system Python on Linux..." && /usr/bin/python3 ]]></linux> <macos><![CDATA[ echo "Running system Python on macOS..." && /usr/bin/python3 ]]></macos> <windows><![CDATA[ echo "Running system Python on Windows..." && C:\Python311\python.exe ]]></windows> </python> ... </commands>
パラメータ ¶
Submit Job
レンダージョブをHQueueシステムへサブミットします。サブミッションが成功すると、レンダージョブのidが付いたダイアログがポップアップで表示されます。 このidにより、HQueueのウェブベースのユーザインターフェースでジョブプロセスを追跡できます。
General ¶
HQueue Server
HQueueサーバーのマシン名とListenポート。
Job Name
ジョブの名前です。<default>に設定するか、デフォルトのジョブ名を使いたい場合は空っぽにします。
Output Driver
出力ファイルの生成に使用されるレンダーノードです。ほとんどの場合、Mantra ROPへのパスになります。
Note
このパラメータは、 Use Existing IFDs オプションが選択されていない場合にのみ適用されます。
Job Priority
ジョブの優先度です。優先度の高いジョブは優先度の低いジョブよりも先にスケジュールが組まれ処理されます。最も低い優先度は0です。
Report Submitted Job ID
有効にすると、Houdiniは、ジョブの投入に成功したIDを示したメッセージを表示します。 このメッセージを表示させたくないのであれば、このパラメータのチェックを外してください。
Universal HFS
有効にすると、このHoudiniインストールディレクトリ(HFS)パスが、ファームマシンに投入されたレンダージョブの実行に使用されます。
このパスの中にはHQueueジョブ変数を指定することができます。
そのHQueue変数は必ずエスケースしてください(例えば、\$HQROOT、\$HQCLIENTARCH)。
Linux HFS Path
Linuxファームマシンで実行されるレンダージョブで使用されるHoudiniインストールディレクトリ(HFS)パス。
このパスの中にはHQueueジョブ変数を指定することができます。
そのHQueue変数は必ずエスケースしてください(例えば、\$HQROOT、\$HQCLIENTARCH)。
このパラメータは、 Universal HFS が無効な場合にのみ適用されます。
macOS HFS Path
MacOSファームマシンで実行されるレンダージョブで使用されるHoudiniインストールディレクトリ(HFS)パス。
このパスの中にはHQueueジョブ変数を指定することができます。
そのHQueue変数は必ずエスケースしてください(例えば、\$HQROOT、\$HQCLIENTARCH)。
このパラメータは、 Universal HFS が無効な場合にのみ適用されます。
Windows HFS Path
Windowsファームマシンで実行されるレンダージョブで使用されるHoudiniインストールディレクトリ(HFS)パス。
このパスの中にはHQueueジョブ変数を指定することができます。
そのHQueue変数は必ずWindowsバッチ言語表記で指定してください(例えば、%HQROOT%、%HQCLIENTARCH%)。
このパラメータは、 Universal HFS が無効な場合にのみ適用されます。
Render Current HIP File
現在開いている.hipファイルをHQueueでレンダリングしたい場合、このオプションを選びます。 ファームでどのマシンからもアクセスできる場所に現行の.hipファイルを置いてください。 なお、ファームでレンダリングしている間に.hipファイルに加えられた変更はライブ状態で反映されます。 つまり、変更を加えると、すべてレンダーに表示されます。
Render Target HIP File
HQueueで別の.hipファイルをレンダリングしたい場合、このオプションを選びます。 ファームでどのマシンからもアクセスできる場所に.hipファイルを置いてください。
Use Existing IFDs
ディスク上に事前に生成されたIFDファイルからHQueueでレンダリングしたい場合、このオプションを選びます。 HQueueは、Mantraを使ってIFDファイルをレンダリングします。
Use Existing USDs
ディスク上に事前に生成されたUSDファイルからHQueueでレンダリングしたい場合、このオプションを選びます。 HQueueは、huskコマンドラインユーティリティを使ってUSDファイルをレンダリングします。
Target HIP
Render Target HIP File を選んだ場合、このパラメータを、ファームにロード後にレンダリングされる.hipファイルの場所に設定します。
共有ドライブ、またはファームでどのマシンからもアクセスできる場所に.hipファイルを保存してください。
$HQROOT変数を使用すると、.hipファイルのパスを指定しやすくなります(HQueueの変数参照)。
Project Path
Copy Project Files to Shared Folder and Render を選んだ場合、このパラメータを、.hipファイルとその.hipファイルの依存ファイルをコピーしたい共有フォルダの場所に設定します。
ファームですべてのマシンからアクセスできる場所を設定してください。
$HQROOT変数を使用すると、.hipファイルのパスを指定しやすくなります(HQueueの変数参照)。
IFD Path
レンダリングするIFDファイルのパス。
$HQROOT変数を使用することで、ファームに登録されている共有ネットワークフォルダのパスを指定することができます(HQueueの変数参照)。
このパラメータは、 Use Existing IFDs が選択されている場合にのみ適用されます。
USD Path
レンダリングするUSDファイルのパス。
$HQROOT変数を使用することで、ファームに登録されている共有ネットワークフォルダのパスを指定することができます(HQueueの変数参照)。
このパラメータは、 Use Existing USDs が選択されている場合にのみ適用されます。
Render Delegate
画像のレンダリングに使用するHydraクライアント。 デフォルトはKarmaです。 別のHydraクライアントは、HoudiniのUSDライブラリに登録されている必要があります。 上記の利用可能なレンダラーのリストを取得する方法を参照してください。
このパラメータは、 Use Existing USDs が選択されている場合にのみ適用されます。
Override Output Image
これが空っぽでない場合、RenderSettingsで指定されている出力の代わりに、このファイルパスに画像が出力されます。
フレーム毎に新しいレンダープロセスを開始する場合、このパラメータに$F4などの標準のHoudini変数を使用することで、フレーム毎に固有な画像ファイルを指定することができます。
Render All Frames with a Single Processが有効な場合、このパラメータは、展開されていないフレーム指定子($F4または<FF>)をhuskに渡さなければなりません。
これは、このパラメータを評価する時に変数展開されないようにバックスラッシュを使用する必要があります。
このパラメータは、 Use Existing USDs が選択されている場合にのみ適用されます。
Render Command
ここには、レンダリングに使用される外部コマンドを指定します。
このパラメータを無効( Run Command パラメータをオフ)にすると、コマンドは実行されません。
それでもUSDシーンはディスクに出力され、( Print command line to console がオンの場合は)コマンドはコンソールに出力されるものの、
そのコマンドは実際には実行されません。
また、コマンドの実行を無効にすると、生成されたUSDファイルが$HOUDINI_TEMP_DIR内にある場合であっても削除されなくなります。
このモードは、デバッグ、または、バッチファームレンダリングで非常に役に立ちます。
このパラメータは、 Use Existing USDs が選択されている場合にのみ適用されます。
Start/End/Inc
Use Existing IFDs または Use Existing USDs を選んだ場合、これらのフィールドで、レンダー用の開始フレーム、終了フレーム、およびフレーム増分値を指定できるように設定します。 IFD Pathをフレーム番号で拡張している場合、フレーム増分値は0でないことがありますが、選択した開始/終了フレームは既存ファイルに対応している必要があります。
Automatically Save HIP File
有効の場合、Houdiniは、ジョブをHQueueにサブミットする前に現行の.hipファイルを自動的に保存します。 これにより、シーンに加えられた最新の変更を反映したレンダーがファームで確実に実行されます。このパラメータは、 Render Target HIP File 、 Use Existing IFDs 、 Use Existing USDs のどれかを選んでいる場合は適用されません。
Warn If Unsaved Changes in HIP File
有効の場合、Houdiniは、ジョブをHQueueにサブミットする時に.hipファイルで保存されていない変更について警告を与えます。 このパラメータが無効の場合、Houdiniは未保存の変更を無視して、ジョブをHQueueへ自動的にサブミットします。このパラメータは、 Render Target HIP File 、 Use Existing IFDs 、 Use Existing USDs のどれかを選んでいる場合は適用されません。
Skip File Dependency Dialog
有効の場合、ファイル依存ダイアログがスキップされます。このパラメータは、 Copy Project Files to Shared Folder and Render オプションが選択されている場合にのみ適用されます。
Email Options ¶
このEmail Optionsは、HQueueサーバーがメールを送信する設定になっている場合にのみ適用されます。
サーバーの構成のヘルプページにあるerror_email_fromとsmtp_serverの構成変数を参照してください。
Send Status Emails
指定したイベントのステータスemailを送信したい場合に、このパラメータを有効にします。
Note
下記のパラメータは、 Send Status Emails が有効の場合にのみ適用されます。
Email Address
ステータスの更新を送信するemailのリストです。カンマ(,)でエントリを区切ります。
On Start
このパラメータを有効にすると、クライアントが、ジョブの処理を開始する時にemailが送信されます。
On Success
このパラメータを有効にすると、ジョブが問題なく完了した時にemailが送信されます。
On Failure
このパラメータを有効にすると、ジョブが失敗したり、取り消されたり、中止された時にemailが送信されます。
On Pause
このパラメータを有効にすると、ジョブが一時停止した時にemailが送信されます。
On Resume
このパラメータを有効にすると、ジョブが再開した時にemailが送信されます。
On Reschedule
このパラメータを有効にすると、ジョブのスケジュールが組み直された時にemailが送信されます。
On Priority Change
このパラメータを有効にすると、ジョブの優先度が変更になった時にemailが送信されます。
Mantra Options ¶
Generate IFDs
有効の場合、指定されたパスにIFDファイルを書き込むHQueueへジョブが送信されます。 IFDが生成されるため、入力としてIFDを使用してレンダリングを実行するHQueueへ、追加のジョブが送信されます。 無効の場合、IFD生成が省略され、各フレームの処理やレンダリングにはMantraの代わりにhythonが使用されます。 このパラメータをオンにしておくと、多くとも1つのHoudini Engine(またはそれ以上の)ライセンストークンが必ずファームで使用されてジョブを処理します。
このパラメータは、 Output Driver パラメータにMantra ROPが指定されている場合にのみ適用されます。
Assign IFD Job To
HQueueにより、IFDの生成ジョブを特定のクライアント、または特定のクライアントグループのメンバーに割り当てたい場合、このパラメータを設定します。 このパラメータは、 Generate IFDs パラメータが有効になっている場合にのみ適用されます。
Same Clients Assigned to Render Jobs
HQueueにより、IFDの生成ジョブをレンダージョブを処理する同じクライアントのリストに割り当てたい場合、このオプションを選択します。 リストは Advanced タブの Assign To パラメータで決定されます。
Listed Clients
HQueueによりIFDの生成ジョブを割り当てることができるクライアントのリストを指定するには、このオプションを選択します。
Clients from Listed Groups
クライアントグループのリストを指定するには、このオプションを選択します。 HQueueは、リスト化された少なくとも1つのクライアントグループのメンバーであるマシンにIFD生成ジョブを割り当てます。
Clients
HQueueによりIFDの生成ジョブを割り当てることができるクライアントマシンのリストです。
カンマ(,)でマシン名を分割します。
このパラメータは、 Assign To パラメータで Listed Clients が選択されている場合にのみ適用されます。
Select Clients
クリックすると、ポップアップダイアログに、HQueueファームに登録されたクライアントマシンのリストが表示されます。 ダイアログで選択すれば、その選択したクライアントが自動的に Clients パラメータに設定されます。
Client Groups
HQueueによりIFDの生成ジョブを割り当てることができるクライアントグループのリストです。
カンマ(,)でグループ名を区切ります。
特に、HQueueは、リスト内の少なくとも1つのグループのメンバーであるマシンにIFD生成ジョブを割り当てます。
このパラメータは、 Assign To パラメータで Clients from Listed Groups が選択されている場合にのみ適用されます。
Select Client Groups
クリックすると、ポップアップダイアログに、HQueueファームに登録されたクライアントグループのリストが表示されます。 ダイアログで選択すれば、その選択したグループが自動的に Client Groups パラメータに設定されます。
Delete IFDs On Frame Completion
このボックスが有効の場合、あるフレームのレンダリングがファームで完了すると、そのフレームのIFDが削除されます。
このパラメータは、 Generate IFDs が有効になっている場合にのみ適用されます。 Use Existing IFDs オプションが選択されている場合は適用されません。
Allow cross-platform rendering
このボックスが有効の場合、IFDファイルを使って投入されたレンダージョブが、プラットフォーム依存しなくなります。
このパラメータは、デフォルトでfalseになっており、 Generate IFDs が有効または hq_hip_action が use_ifd に設定されている場合にのみ適用されます。
Distribute IFD Generation
有効の場合、Generate IFDsジョブが複数ジョブに分散されます。これらのジョブそれぞれにはHoudini Engineライセンスが必要です。 このオプションは、 Generate IFDs オプションが選択されている場合にのみ適用されます。
Render Single Tile
Mantra ROPの Tile Index パラメータにより指定された単一のタイルのみをレンダリングしたい場合、このボックスを有効にします。
タイリングが有効で、このボックスが無効の場合は、タイルが最終イメージに一緒にステッチされる前に、別のジョブとしてタイルがレンダリングされます。
このパラメータは、 Use Existing IFDs と Generate IFDs のどちらとも有効でない場合にのみ適用されます。
このパラメータは、Mantra出力ドライバでタイリングが有効になっている場合にのみ適用されます。
Enable Checkpoints
これをチェックすると、Mantraのチェックポイントが有効になります。 ジョブが失敗したりキャンセルされると、ジョブが再度スケジュールに入った際に、その最後のチェックポイントからジョブを続けることができます。
Min. Clients per Frame
単一のフレームを同時にレンダリングするクライアントマシンの最小数。
マルチクライアントレンダリングは、Mantraの-Hオプションにより実現します(詳細は、ネットワークのレンダリングを参照してください)。
このパラメータは、 Output Driver をMantra ROPに設定している場合にのみ適用されます。
Max. Clients per Frame
単一のフレームを同時にレンダリングするクライアントマシンの最大数。
このパラメータは、 Output Driver をMantra ROPに設定している場合にのみ適用されます。
USD Render Options ¶
USD Output File
ルートレイヤの書き出し先となるトップレベルUSDファイルの名前。
このパラメータは、USD Render ROPの Output File パラメータを設定します。
有効にすると、指定したパスにUSDファイルを書き出すジョブがHQueueに投入されます。 USDsが生成されると、それらのUSDsを入力として使用してレンダリングを実行する追加ジョブが自動的にHQueueに投入されます。 無効にすると、USD生成がスキップされ、各フレームのクックとレンダリングは、Karmaではなくhythonが使用されます。 このパラメータを有効にすると、そのジョブを処理するために最大で1つのHoudini Engineライセンストークンがファーム上で使用されるようになります。
このパラメータは、 Output Driver パラメータがUSD Render ROPノードを指している場合にのみ適用されます。
Assign USD Job To
HQueueがUSD生成ジョブを特定のクライアントまたは特定のクライアントグループのメンバーに割り当てるようにしたい場合は、このパラメータを設定します。
このパラメータは、 USD Output File パラメータが有効な場合にのみ適用されます。
Same Clients Assigned to Render Jobs
HQueueがUSD生成ジョブを、レンダージョブを処理するクライアントリストと同じクライアントリストに割り当てるようにしたい場合は、このオプションを選択します。 このクライアントリストは、 Advanced タブにある Assign To パラメータで決定されます。
Listed Clients
HQueueがUSD生成ジョブを割り当て可能なクライアントマシンのリストを指定したいのであれば、このオプションを選択します。
Clients from Listed Groups
クライアントグループのリストを指定したいのであれば、このオプションを選択します。 HQueueは、USD生成ジョブを、指定したリストのクライアントグループのどれかに属しているマシンに割り当てます。
Clients
HQueueがUSD生成ジョブを割り当て可能なクライアントマシンのリスト。 マシン名はカンマ区切りで指定することができます。
このパラメータは、 Assign To パラメータが Listed Clients に選択されている場合にのみ適用されます。
Select Clients
クリックすると、HQueueファームに登録されているクライアントマシンのリストを含んだダイアログが表示されます。 そのダイアログでクライアントを選択をすると、その選択したクライアントが自動的に Clients パラメータに設定されます。
Client Groups
HQueueがUSD生成ジョブを割り当て可能なクライアントグループのリスト。 クライアントグループ名はカンマ区切りで指定することができます。 具体的には、HQueueは、USD生成ジョブをこのリスト内のグループのどれかに属しているマシンに割り当てます。
このパラメータは、 Assign To パラメータが Clients from Listed Groups に選択されている場合にのみ適用されます。
Select Client Groups
クリックすると、HQueueファームに登録されているクライアントグループのリストを含んだダイアログが表示されます。 そのダイアログでクライアントグループを選択をすると、その選択したクライアントグループが自動的に Client Groups パラメータに設定されます。
Delete USD Directory On Frame Completion
これを有効にすると、ファームがフレームのレンダリングを終了すると、そのフレームで生成されたUSDディレクトリとその内容すべてが削除されます。
このパラメータは、 USD Output File が有効な場合にのみ適用されます。
Distribute USD Generation
有効にすると、USDファイル生成が複数のジョブで分散されます。 それぞれのジョブでHoudini Engineライセンスが必要になります。
このオプションは、 USD Output File オプションが選択されている場合にのみ適用されます。
Advanced ¶
Assign To
HQueueによりクライアントやクライアントグループの特定のリストにレンダージョブを割り当てたい場合、このパラメータを設定します。 このパラメータは、ローカルHQueueファームへレンダリングする場合にのみ適用されます。
Any Client
このオプションを選択すると、HQueueは使用可能なマシンにレンダージョブを割り当てます。
Listed Clients
HQueueがレンダージョブを割り当て可能なクライアントマシンのリストを指定するには、このオプションを選択します。 Mantraによりレンダリングする場合、 Mantra Options タブの Min. Clients / Frame パラメータで設定された要求事項を十分に満たすだけのクライアントを必ずリスト化してください。
Clients from Listed Groups
クライアントグループのリストを指定するには、このオプションを選択します。 HQueueは、リスト化された少なくとも1つのクライアントグループのメンバーであるマシンにレンダージョブを割り当てます。
Clients
HQueueがレンダージョブを割り当てることができるクライアントマシンのリストです。カンマ(,)でマシン名を区切ります。
このパラメータは、 Assign To パラメータで Listed Clients が選択されている場合にのみ適用されます。
Select Clients
クリックすると、HQueueファームに登録されているクライアントマシンのリストを含んだダイアログが表示されます。 そのダイアログでクライアントを選択すると、その選択したクライアントが自動的に Clients パラメータに設定されます。
Client Groups
HQueueがレンダージョブを割り当て可能なクライアントグループのリスト。
カンマ(,)でグループ名を区切ります。特に、HQueueは、リスト内の少なくとも1つのグループのメンバーであるマシンのみにレンダージョブを割り当てます。
このパラメータは、 Assign To パラメータで Clients from Listed Groups が選択されている場合にのみ適用されます。
Select Client Groups
クリックすると、HQueueファームに登録されているクライアントグループのリストを含んだダイアログが表示されます。 そのダイアログでクライアントグループを選択すれば、その選択したグループが自動的に Client Groups パラメータに設定されます。
Batch All Frames in One Job
単一のHQueueジョブでフレームのすべてをレンダリングしたい場合、このパラメータを有効にします。
これは、特に、処理されたフレームがその前のフレームの処理結果に依存するDynamics ROPや
Geometry ROPを使ってレンダリングする場合に役立ちます。
細分化して複数のマシンに分散できないRBDやCloth、Wireシミュレーションでこのオプションを有効にすると、最も効果的に機能します。
Frames per Job
単一のHQueueジョブでレンダリングされるフレーム数です。 各ジョブに対して、HQueueは、Houdiniを起動して、.hip ファイルをロード、そしてリクエストされたフレーム数をレンダリングした後、Houdiniを終了します。 ジョブごとにフレームが多くなると、Houdiniの起動と終了にかかるオーバーヘッドの量が少なくなります。 しかし、ジョブごとのフレームがあまり多くなると、ファーム全体に分散できるジョブが少なくなり、使用できるクライアントマシン数にもよりますが、 全体のレンダリング時間が長くなる可能性があります。
このパラメータを理想的な値に設定すると、多くとも1つのレンダージョブがファームのマシンに割り当てられます。出発点として下記の式を使用することができます:
frames_per_job = ceil(number_of_frames / number_of_machines)
ほとんどの場合、1の値で十分です。
このパラメータは、 Batch All Frames in One Job が無効の場合にのみ適用されます。
Frame Order
Render Frames in Linear Order
増分シーケンス(つまり1、2、3、4)でフレームをレンダリングします。
Render Frames in Binary Subdivision Order
Binary Subdivisionの順序でフレームをレンダリングします。例えば、フレーム範囲が1から20の場合、フレームのレンダーシーケンスは1、20、11、6、16、4、9、14、18、3などです。 シーケンスが間違えずに速くレンダリングされるかどうかを確認したい場合は、Binary Subdivisionの順序を選択する方が便利です。
Set Number of CPUs per Job
各レンダージョブに使用されるCPUの最大数を設定したい場合、このパラメータを有効にします。
CPUs per Job
レンダージョブに使用されるCPUの最大数です。この数がクライアントマシンのCPU数を超えると、クライアントマシンはどのレンダージョブにも割り当てられません。
Render Retries
失敗したレンダージョブをHQueueがスケジュールに組み直す最大回数。
Reschedule job on a different client on failure
有効にすると、HQueueは、失敗したジョブをその失敗したマシン以外のマシンに対してスケジュールを組み直します。
このパラメータは、 Render Retries が0より大きい場合にのみ適用されます。
Resources
ジョブ実行時にクライアントマシンで定義されるカスタムリソースとそれぞれの数のリスト。
Environment
ジョブ実行時にクライアントマシンで定義される変数名と値のリストです。変数は、シェル環境変数として表示されます。
Create Directories
ファイルをレンダー出力する前にファームに作成しておく出力ディレクトリのリスト。
例えば、レンダーでシャドウマップとイメージを生成する場合、$HIP/shadowmapと$HIP/picsをこのリストに追加すると良いでしょう。
指定したディレクトリがまだ存在していなかった場合、それらのディレクトリが作成されます。