これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド mpiexec.lam です。
プログラム:
NAME
mpiexec - LAM ノード上で MPI プログラムを実行します。
SYNOPSIS
mpiexec [global_args] local_args1 [: local_args2 [...]]
mpiexec [global_args] -configfile ファイル名
OPTIONS
グローバル引数は、によって起動されるすべてのコマンドに適用されます。 mpiexec。 彼らは、
コマンドラインの先頭。
-ブート MPI プログラムを実行する前に、LAM ランタイム環境をブートします。 もし
-マシンファイル が指定されていない場合は、デフォルトのブート スキーマを使用します。 MPI のとき
プロセスが完了すると、LAM ランタイム環境はシャットダウンされます。
-ブート引数 引数
引数をバックエンドに渡す ランブート LAM ランタイム起動時のコマンド
環境。 暗示する -ブート.
-d 多くのデバッグ出力を有効にします。 暗示する -v.
-マシンファイル ホストファイル
「ワンショット」MPI 実行を有効にします。 LAM ランタイム環境を次のコマンドで起動します。
hostfile で指定されたブート スキーマ (「 ブースト(5))、MPI プログラムを実行してから、
LAM ランタイム環境をシャットダウンします。 暗示する -ブート.
-プレフィックス ラム/インストール/パス
/lam/install/path/ で指定された LAM インストールを使用します。 と互換性がありません
7.1 より前の LAM/MPI バージョン。
-ssi キー 値
SSI パラメータ キーを value 値に設定します。
-テレビ TotalView デバッガーで MPI プロセスを起動します。
-v 冗長にする
XNUMX つ以上のローカル引数セット (または構成ファイル、以下を参照) を指定する必要があります。
ローカル引数には基本的に、 アプリスキーマ(5) と同様に、
MPI-2 標準で指定されている次のオプション (以下にリストされているオプションは必ず指定する必要があることに注意してください)
特定される アプリスキーマ引数):
-n numprocs
開始するプロセスのコピーの数。
-ホスト hostname
MPI プロセスを開始するホスト名を指定します。 ホスト名は次のとおりである必要があります
によって解決可能 ラムノード LAM ランタイム環境の起動後のコマンド
(参照してください ラムノード(1))。
-アーチ 建築
MPI プロセスを開始するアーキテクチャを指定します。 mpiexec 基本的に使用します
GNU の出力とのパターン一致として提供されたアーキテクチャ
config.guess LAM ランタイム環境の各マシン上のユーティリティ。 どれでも
サブセットは一致します。 以下の例を参照してください。
-wdir ディレクトリにジョブを開始します。
実行可能ファイルの作業ディレクトリを設定します。
-柔らかい まだサポートされていません。
-道 まだサポートされていません。
-ファイル まだサポートされていません。
その他の引数
日時 mpiexec 認識できない引数 (たとえば、
アプリスキーマ(5) 引数、または MPI 実行可能ファイル名)、残りの部分
引数はに返されます ムピルン 実際にプロセスを開始します。 そのような、
すべての mpiexec上で説明した の引数が来る必要があります アプリスキーマ
引数や MPI 実行可能ファイル名。 同様に、以降のすべての引数は、
MPI 実行可能ファイル名は、コマンド ライン引数として透過的に渡されます。
MPI プロセスは事実上無視されます。 ムピルン.
DESCRIPTION
mpiexec MPI-2 標準のその他の章で大まかに定義されています (「
http://www.mpi-forum.org/)。 これは、MPI を開始するための移植可能なメカニズムであることを目的としています。
プロセス。 MPI-2 標準では、いくつかのコマンド ライン オプションが推奨されていますが、推奨されていません。
どれかを義務付けます。 ラムさん mpiexec は現在、これらのオプションのいくつかをサポートしていますが、すべてではありません。
ラムさん mpiexec 実際には、いくつかの基礎となる LAM のラッパーである Perl スクリプトです。
コマンド、特に注目すべきは ランブート, ムピルン, ラムハルト。 したがって、提供される機能は、
by mpiexec いつでも手動で実行できます。 引数で特に指定されていない限り、
に戻されます ムピルン, mpiexec で説明されているように、CPU ごとのスケジューリングが使用されます。
ムピルン(1) (つまり、「cX」および「C」表記)。
mpiexec 既存の LAM ユニバース (つまり、ブートされた LAM ランタイム) を使用できます。
環境)、同様に ムピルン、または「ワンショット」MPI 実行に使用できます。
LAM ランタイム環境を起動し、MPI 実行可能ファイルを実行してから、
LAM ランタイム環境。
mpiexec コマンド ラインから MPMD MPI ジョブを起動するために使用することもできます。 ムピルン また
MPMD MPI ジョブの起動をサポートしますが、ユーザーはテキスト ファイルを作成する必要があります アプリスキーマ(5)まず。
おそらくXNUMXつ mpiexecの最も便利な機能は、コマンドラインで起動できることです。
異なるアーキテクチャ上の異なる実行可能ファイルを使用して、 -アーチ フラグ (例を参照)
下に)。 基本的に、に与えられる文字列引数は、 -アーチ パターンとして使用されます
GNU の出力と照合する config.guess 各ノードのユーティリティ。 ユーザーの場合、
提供されたアーキテクチャ文字列は、出力の任意のサブセットと一致します。 config.guess、それは支配されています
試合。 ワイルドカードは使用できません。 GNU config.guess ユーティリティは両方で利用できます
LAM/MPI ソース コードの配布 (config サブディレクトリ内) および次の場所にあります。
ftp://ftp.gnu.org/gnu/config/config.guess.
からのいくつかのサンプル出力 config.guess 次のとおりです。
sparc-sun-solaris2.8
SPARC プラットフォーム上で実行される Solaris 2.8。
i686-pc-linux-gnu
i686 アーキテクチャで実行される Linux。
mips-sgi-irix6.5
SGI/MIPS アーキテクチャ上で動作する IRIX 6.5。
を実行するとよいでしょう ラムインフォ 利用可能なプラットフォームでコマンドを実行して、どの文字列を確認するか
config.guess 報告。 見る ラムインフォ(1) 詳細については (例: -アーチ フラグを立てる ラムインフォ).
構成ファイル オプション
ローカルパラメータのセットを設定ファイル内で指定することはできません。
コマンドラインで -configfile オプション。 このオプションは通常、次の場合に使用されます。
コマンド ライン オプションの数が一部のシェルにとって大きすぎる、またはプロセスを自動化する場合
コマンドライン引数を生成しますが、それをファイルに置いたほうが便利です。
後の処理のために mpiexec.
構成ファイルには、コメントと XNUMX つ以上のローカル引数セットの両方を含めることができます。 ライン
「#」で始まるものはコメントとみなされ、無視されます。 他の行は次のように考えられます。
ローカル引数の XNUMX つ以上のグループです。 各グループは次のいずれかで区切る必要があります。
改行またはコロン (「:」)。 例えば:
# mpiexec 設定ファイルのサンプル
# XNUMX つのノードで foo を起動する
-ホストノード1.example.com foo : -ホストノード2.example.com foo
# XNUMX 番目のノードで bar の XNUMX つのコピーを起動します
-host node3.example.com -np 2 バー
エラー
エラーが発生した場合は、 mpiexec すべてをシャットダウンして元に戻るために最善を尽くします
実行前の状態。 たとえば、次の場合 mpiexec LAM ランタイムの起動に使用されました
環境、 mpiexec 正常に起動されたものはすべて削除するために最善を尽くします。
実行時環境 (呼び出しを含む) ラムハルト および ラムワイプ).
例
以下に使用方法の例をいくつか示します mpiexec。 すべての例は次のことを前提としていることに注意してください。
CPU ベースのスケジューリング ( NOT 物理 CPU にマップ) で説明されているように ムピルンとします。
mpiexec -n 4 my_mpi_program
のコピーを 4 つ起動します my_mpi_program 既存の LAM ユニバース内で。
mpiexec -n 4 my_mpi_program arg1 arg2
前の例と似ていますが、「arg1」と「arg2」をコマンドラインとして渡します。
my_mpi_program の各コピーに引数を追加します。
mpiexec -ssi rpi gm -n 4 my_mpi_program
前の例と似ていますが、「-ssi rpi gm」を渡します。 ムピルン 伝える
MPI プロセスは、MPI メッセージ パッシングに Myrinet (gm) RPI を使用します。
mpiexec -n 4 プログラム 1 : -n 4 プログラム 2
のコピーを 4 つ起動します programxnumx と4つのコピー programxnumx 既存の LAM 内
宇宙。 結果として得られる 8 つのプロセスはすべて、共通の MPI_COMM_WORLD を共有します。
mpiexec -machinefile ホストファイル -n 4 my_mpi_program
ホストファイルにリストされているノードで LAM ランタイム環境を起動し、4 を実行します。
結果として得られる LAM ユニバースに my_mpi_program のコピーを作成し、
ラムの世界。
mpiexec -machinefile ホストファイル my_mpi_program
上記と似ていますが、LAM 内のすべての利用可能な CPU で my_mpi_program を実行します。
宇宙。
mpiexec -arch Solaris2.8 sol_program : -arch linux linux_program
Solaris マシン上の CPU と同じ数の sol_program のコピーを実行します。
現在の LAM ユニバース、および CPU と同数の linux_program のコピー
現在の LAM ユニバースの Linux マシン。 結果として得られるすべてのプロセスが共有されます
共通の MPI_COMM_WORLD。
mpiexec -arch Solaris2.8 sol2.8_prog : -arch Solaris2.9 sol2.9_program
上記の例と似ていますが、Solaris 2.8 と 2.9 を区別する点が異なります。
(異なる共有ライブラリなどがある可能性があるため)。
onworks.net サービスを使用してオンラインで mpiexec.lam を使用する