サブミッション インターフェイス

Submission Interfaceの一般的な使用方法は、以下のとおりです。

  1. xgSubmit.exe と xgWait.exe を呼び出し、分散したいプロセスをグリッドエンジンのキューに入れるよう、スクリプトやツールを修正します。

  2. IBConsoleでスクリプト/ツールを実行します。

Incredibuildで使用するためにスクリプトを変換するには

  1. スクリプトを新しい場所にコピーしてください。

  2. Incredibuild を介して実行される各コマンドを xgSubmit 呼び出しに配置します。

  3. シーケンシャル処理に必要なグループを作成します。

  4. 必要な xgWait ステートメントをスクリプトに追加し、それぞれを適切なグループまたはすべてのグループと関連付けます。

  5. 新しいスクリプトを保存し、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」のインスタンスが多数起動し、配布可能として扱われます。