6.2. 実行コマンドの形式¶
mpiexecコマンドによるMPIプログラム実行形式は以下のとおりです。
$ mpiexec オプション 実行モジュール 実行モジュールのオプション
注釈
mpiexecの非互換項目
スーパーコンピュータ「富岳」では、運用に合わせてカスタマイズしたmpiexecコマンドを提供しています。 カスタマイズにより、マニュアル「MPI使用手引書」の記載と非互換となる項目があります。 ここでは、マニュアルと非互換となる項目について説明します。
アプリケーション情報の収集
スーパーコンピュータ「富岳」の運用改善のため、実行するアプリケーションに対して、以下の情報を収集します。
コンパイラ情報
シンボルテーブル
共有ライブラリ情報
MD5ハッシュチェックサム
実行ファイルの種類や文字列
アプリケーション情報の収集を回避するには、ジョブ実行時に以下の環境変数を定義してください。:
#PJM -x "APPLOG=NO"収集はmpiexecの開始時のみに行うため、実行中のジョブの性能に影響は出ません。 また収集によるジョブの実行時間への影響は、ほとんどありません。
mpiexecコマンドのオプション指定例
MPIプログラムを8並列(
-n 8
)で実行する場合
$ mpiexec -n 8 -std-proc procfile ./a.out注釈
-n
オプション省略時はデフォルト値が誘導されます。
JavaのMPIプログラムを8並列(
-n 8
)で実行する場合
$ mpiexec -n 8 -std-proc procfile java -classpath ./dir JavaTest注釈
クラスパスは、javaコマンドの
-classpath
オプションで指定します。
MPIジョブを同時に複数実行する場合
MPMD
実行単位をコロン ":" で区切ることで複数のプログラムを実行することができます。
-n
の総和は、--mpi proc=N
を超えないように設定します。[書式]
$ mpiexec [global options] -n N1 [local options] 実行ファイル1 : -n N2 [local options] 実行ファイル2 : …[例]
MPIプログラムの実行可能ファイル
a.out
、b.out
、c.out
をそれぞれ 2、4、6の並列プロセス数で実行$ mpiexec -std-proc procfile -n 2 ./a.out : -n 4 ./b.out : -n 6 ./c.out注意
Javaプログラムの場合、MPMDモデルでの実行は保証されません。
バックグラウンドジョブ
バックグラウンドジョブを同時に複数実行する場合は、
-vcoordfile
オプションを指定して使用するノードの座標を指定します。同時に動かすジョブ間で使用するノードが重ならないように留意ください。同時にバックグラウンドで実行できる数は、128までです。