| On this page | |
| Since | 10.0 |
HQueue/Houdini Queueは分散ジョブスケジューリングシステムです。 これには、HQueueサーバーおよびプロセッシングノードのファーム、またはクライアントが含まれます。 サーバーはユーザからジョブサブミッションを受け取り、使用可能なクライアントへ割り当てます。
HQueue Simulation出力ドライバは、ファームで分散を行なうためにダイナミックシミュレーションジョブをHQueueにサブミットします。
シミュレーションは Output Driver のパラメータで指定されたノードで実行されます。
通常はGeometry 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
出力ファイルの生成に使用されるレンダーノードです。ほとんどの場合、これはGeometry ROPへのパスになります。
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 が無効な場合にのみ適用されます。
Simulate Current HIP File
現在開いている.hipファイルをHQueueでシミュレーションしたい場合に、このオプションを選びます。 ファームでどのマシンからもアクセスできる場所に現行の.hipファイルを置いてください。 なお、ファームでシミュレーションしている間に.hipファイルに加えられた変更はライブ状態で反映されます。 つまり、変更を加えると、ファームのシミュレーションにすべて適用できます。
Simulate Target HIP File
別の.hipファイルをHQueueでシミュレーションしたい場合に、このオプションを選びます。 ファームでどのマシンからもアクセスできる場所に.hipファイルを置いてください。
Target HIP
Simulate Target HIP File を選んだ場合、ファームにロードされて、シミュレーションされる.hipファイルの場所にこのパラメータ値を設定します。
共有ドライブ、またはファームでどのマシンからもアクセスできる場所に.hipファイルを保存してください。
$HQROOT変数を使用すると、.hipファイルのパスを指定しやすくなります(HQueueの変数参照)。
Project Path
Copy Project Files to Shared Folder and Simulate を選んだ場合、.hipファイルおよびその.hipファイルの依存をコピーしたい共有フォルダの場所にこのパラメータ値を設定します。
ファームですべてのマシンからアクセスできる場所を設定してください。
$HQROOT変数を使用すると、.hipファイルのパスを指定しやすくなります(HQueueの変数参照)。
Automatically Save HIP File
有効の場合、Houdiniは、ジョブをHQueueにサブミットする前に現行の.hipファイルを自動的に保存します。 これにより、シーンに加えられた最新の変更を反映したシミュレーションがファームで確実に実行されます。 このパラメータは、 Simulate Target HIP File を選んでいる場合は適用されません。
Warn If Unsaved Changes in HIP File
有効の場合、Houdiniは、ジョブをHQueueにサブミットする時に.hipファイルで保存されていない変更について警告を与えます。 このパラメータが無効の場合、Houdiniは未保存の変更を無視して、ジョブをHQueueへ自動的にサブミットします。 このパラメータは、 Render Target HIP File または Use Existing IFDs を選んでいる場合は適用されません。
Skip File Dependency Dialog
有効の場合、ファイル依存ダイアログがスキップされます。このパラメータは、 Copy Project Files to Shared Folder and Simulate オプションが選択されている時にのみ適用されます。
Partitioning Type
ファームでシミュレーションをどのように分割して分散するかを選択します。
Volume Slices
ボリュームシミュレーションで使用します。シミュレーションは、3次元グリッドによりスライスに分割されます。 Slice Divisions パラメータにより、グリッドのプロパティを設定します。
ファームでは、変数SLICEがシミュレーションされるスライス番号に設定されます。
これは、出力されたジオメトリファイルのファイル名を設定する場合に使用できます。
Particle Slices
パーティクルシミュレーションで使用します。シミュレーションは、1つ以上のスライス平面に分割されます。 平面で作成されるスライスの数は Number of Slices パラメータで設定します。
ファームは、シミュレーションされるスライス番号を変数SLICEに設定します。この変数を使えば、出力されるジオメトリファイルのファイル名を設定することができます。
Clusters
Clusterノードを持つシミュレーションで使用します。 クラスターごとに1つのジョブが存在するようにシミュレーションが分割されます。 分割に使用するクラスタを Cluster Node パラメータに設定します。
ファームは、シミュレーションされるクラスタ番号を変数CLUSTERに設定します。この変数を使えば、出力されるジオメトリファイルのファイル名を設定することができます。
Wedges
Output Driver パラメータにより指定されたWedgeノードに対して、Wedgeごとに作成される1つのジョブがあります。
変数WEDGEは、WedgeまたはWedgeにより使用されるテイクに対して変更された値を指定した文字列が設定されます。
WEDGENUM変数は、シミュレーションされるWedge番号が設定されます。
詳細については、Wedge ROPのドキュメントを参照してください。
None
シミュレーションを分割しません。 ファームの単一のマシンからシミュレーションをオフロードしたい場合、このオプションを選択します。 このオプションは、RBDやCloth、Wireシミュレーションに最適です。
Slice Divisions
シミュレーションをXYZ方向にどのように分割するかを記述します。 分割により作成された各スライスには、HQueueファームで専用マシンが必要です。 例えば、分割を2×2×2に設定すると、8個のスライスになり、シミュレーションには合計8台のマシンが必要になります。
分割数を増やすと、多くの作業を同時に行なうことができるため、通常はシミュレーション回数が減少します。 しかし、分割数があまり多くなると、スライス間で大きなデータを渡す必要があるため、シミュレーション速度が遅くなる可能性があります。
Note
スライスの数は生成されるジオメトリファイル数を決定します。 例えば、2個のスライスを持つシミュレーションでは、2セットのジオメトリファイルが作成されます。 したがって、10フレームをシミュレーションする場合、合計20個のジオメトリファイルが作成され、各ファイルには、ファイルが属しているスライス番号で名前が付けられます。
このパラメータは、 Partitioning Type を Volume Slices に設定している場合にのみ適用されます。
Number of Slices
パーティクル流体シミュレーションでの合計スライス数です。HQueueは各スライスに1台のクライアントマシンを割り当てます。
このパラメータは、 Partitioning Type を Particle Slices に設定している場合にのみ適用されます。
Controls Node
シミュレーションの分散時に、HQueueを支援するDOPコントロールノードです。 このノードの Tracker Address 、 Tracker Port および Slice Divisions パラメータは、シーンがファームで処理される時にHQueueにより自動的に設定されます。
このパラメータは、 Partitioning Type を None または Clusters に設定している場合には適用されません。
Cluster Node
Clusterノードは、分散ジョブの決定に使用するクラスタリングを指定します。
このパラメータは、 Partitioning Type を Clusters に設定している場合にのみ適用されます。
Use Dedicated Machine for Tracker
トラッカープロセスは、スライスのシミュレーションを行なうマシン間でのコミュニケーションを調整します。 メッセージを他のマシンから受信したり、他のマシンへ送信したりする以外の機能はほとんどありません。 デフォルトでは、HQueueによりトラッカーを実行するマシンに割り当てられた他のシミュレーションやレンダージョブが実行できます。
このパラメータを確認して、HQueueが他のジョブをトラッカーマシンに割り当てないようにしてください。 スライスがいくつかあり、クライアントマシンからトラッカーへのコミュニケーションによりトラッカーマシンの速度が落ちるのが心配な場合などに、このパラメータを使用してください。
このパラメータは、 Partitioning Type を None または Clusters に設定している場合は適用されません。
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が送信されます。
Advanced ¶
Assign To
HQueueにより指定したクライアントやクライアントグループのリストにシミュレーションジョブを割り当てたい場合、このパラメータを設定します。
Any Client
このオプションを選択すると、HQueueは使用できるマシンにシミュレーションジョブを割り当てます。
Listed Clients
HQueueがシミュレーションジョブを割り当てることができるクライアントマシンのリストを指定するには、このオプションを選択します。 ボリュームやパーティクルのシミュレーションの場合、 Slice Divisions または Number of Slices パラメータで設定された要求事項を十分に満たすだけのクライアントを必ずリスト化してください。
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 パラメータに設定されます。
Set Number of CPUs per Job
各シミュレーションジョブに使用されるCPUの最大数を設定したい場合、このパラメータを有効にします。
CPUs per Job
シミュレーションジョブに使用されるCPUの最大数です。 この数がクライアントマシンのCPU数を超えると、クライアントマシンはどのシミュレーションジョブにも割り当てられません。
Dependency Order
対象の出力ドライバに入力ROP依存がある場合に使用するレンダリング順序です。
Frame by Frame
ネットワークのすべての出力ドライバに対して、あるフレームをレンダリングし、次のフレームへ移動します。 この方法では、ノードごとにレンダリングするよりも最終の仕上がりをかなり速く作成できます。 これは、最初の最終フレームがレンダープロセスのかなり早い時点で完成するからです。
Node by Node
他のフレームへ移動する前に、各出力ドライバに対して、全体のフレーム範囲をレンダリングします。 いくつかのタイプの出力ドライバは、フレームごとにレンダリングするよりもシーケンスで速くレンダリングできるため、このモードは全般的に見れば効果的です。 しかし、最初の出力フレームが、レンダープロセスのほとんど最後に作成されます。
Enable Performance Monitor Logging
有効にすると、HQueueは、シミュレーションを実行するジョブに対してperfmonHScriptコマンドを使ってパフォーマンスモニターのログを記録します。 そのログは、ジョブのコマンド出力ログに結合され、HQueueウェブインターフェースのジョブビューページからダウンロードできます。
Resources
ジョブ実行時にクライアントマシンで定義されるカスタムリソースとそれぞれの数のリスト。
Environment
ジョブ実行時にクライアントマシンで定義される変数名と値のリストです。変数は、シェル環境変数として表示されます。
Create Directories
ファイルをレンダー出力する前にファームに作成しておく出力ディレクトリのリスト。
例えば、シミュレーションが$HIP/geoでジオメトリファイルを生成する場合は、これをリストに追加すると良いでしょう。
指定したディレクトリがまだ存在していなかった場合、それらのディレクトリが作成されます。