サブミッション インターフェイス
Submission Interfaceの一般的な使用方法は、以下のとおりです。
-
xgSubmit.exe と xgWait.exe を呼び出し、分散したいプロセスをグリッドエンジンのキューに入れるよう、スクリプトやツールを修正します。
-
IBConsoleでスクリプト/ツールを実行します。
Incredibuildで使用するためにスクリプトを変換するには
-
スクリプトを新しい場所にコピーしてください。
-
Incredibuild を介して実行される各コマンドを xgSubmit 呼び出しに配置します。
-
シーケンシャル処理に必要なグループを作成します。
-
必要な xgWait ステートメントをスクリプトに追加し、それぞれを適切なグループまたはすべてのグループと関連付けます。
-
新しいスクリプトを保存し、IBConsole を使って実行します(ジョブ用のコマンドラインかバッチファイルの名前を指定します)。
すべてのステートメントがxgSubmitタスクに変換される必要はありません。原文のままスクリプトに残すことができます。Incredibuildは、ローカル マシンで順次実行します。
コマンド例 1
このようなバッチスクリプトは、Incredibuild用に簡単に修正することができます。
DummyProcess.exe 3000DummyProcess.exe 2500DummyProcess.exe 2500
DummyProcess.exe 3000DummyProcess.exe 2800DummyProcess.exe 2000
(Samplesディレクトリにあるサンプルを参照してください)。
Incredibuild にリモートヘルパーマシンによる上記各コマンドの実行を指示するには、スクリプトファイルを以下のように変更します(Batch File 4tasks.bat)。
xgSubmit /ForceRemote /group=Group1 /caption=Task1-Group1 /command
DummyProcess.exe 3000xgSubmit /ForceRemote /group=Group1 /caption=Task2-Group1 /command
DummyProcess.exe 2500xgSubmit /ForceRemote /group=Group1 /caption=Task3-Group1 /command
DummyProcess.exe 2500xgWait /group=Group1xgSubmit /ForceRemote /group=Group2 /caption=Task4-Group2 /command
DummyProcess.exe 3000xgSubmit /ForceRemote /group=Group2 /caption=Task5-Group2 /command
DummyProcess.exe 2800xgSubmit /ForceRemote /group=Group2 /caption=Task6-Group2 /command
DummyProcess.exe 2000xgWait /group=Group2
Incredibuild を使ってスクリプトファイルを実行するには(スクリプト名を 4tasks.bat と仮定した場合)、以下のコマンドを実行します。
xgConsole "4tasks.bat” /openmonitor
コマンド例 2
レンダリングプログラムは1000フレームを処理する必要があり、スクリプトやコマンドラインは一度に1フレームで動作するように設計されています。
RenderApp 1-1000
このコマンドは、1フレームを処理するのに必要な時間の1000倍を必要とします。同様に、仕事を100のタスクに分割するスクリプトは、プログレスバーの表示には役立つかもしれません。しかし、処理時間の短縮には結び付きません。
RenderApp 1-100
RenderApp 101-200
RenderApp 201-300
…
RenderApp 901-1000
Incredibuildを使用すると、以下のようなスクリプトを作成することができます。
xgSubmit / command RenderApp 1-100
xgSubmit / command RenderApp 101-200
xgSubmit / command RenderApp 201-300
…
xgSubmit / command RenderApp 901-1000)
Incredibuild は各タスクをキューに送信し、Coordinatorからの情報に基づいて、Incredibuild グリッド プールに登録されている、 10 個のリモートおよびローカル コア間で処理が並行して分散されます。本来の所要時間の10分の1で処理が完了します。
IBConsole.exe で使用できるコマンドライン オプションはこちらをご覧ください。
サブミッションインターフェース サンプルプロジェクト
Incredibuildインストールフォルダ\Dev Tools Interfaces Usage Samples\Submission Interface内ののサンプルを是非ご覧ください。そのうちのサンプルの1つがディストリビューションサンプル で、簡単なアプリケーションのディストリビューションを実演しています。
注意: このフォルダに設定されたコマンドプロンプトからBatchFileExecution.bat を実行します。BatchFile.bat」内の「xgSubmit.exe」が起動し、「DummyProcess.exe」のインスタンスが多数起動し、配布可能として扱われます。