英語フランス語スペイン語

Ad


OnWorksファビコン

lamexec - クラウド上のオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで lamexec を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド lamexec です。

プログラム:

NAME


lamexec - LAM ノード上で非 MPI プログラムを実行します。

SYNOPSIS


lamexec [-fhvD] [-c # | -np #] [-nw | -w] [-pty] [-s ノード] [-x
VAR1[=VALUE1][,VAR2[=VALUE2],...]] [ここで] プログラム [-- args]

OPTIONS


-c # の同義語 -np (下記参照)。

-D 実行可能プログラムの場所を、作成されたプログラムの現在の作業ディレクトリとして使用します。
プロセス。 作成されたプロセスの現在の作業ディレクトリが設定されます
ユーザーのプログラムが呼び出される前。

-f 標準の I/O ファイル記述子を構成しないでください。デフォルトを使用してください。

-h このコマンドに関する有用な情報を出力します。

-np # (以下を参照してください)。 指定されたノード上でこの数のプログラムのコピーを実行します。 これ
このオプションは、指定されたファイルが実行可能プログラムであり、
アプリケーションスキーマ。 ノードが指定されていない場合は、すべての LAM ノードが考慮されます。
スケジュール管理。 LAM はラウンドロビン方式でプログラムをスケジュールします。
必要に応じて、「周囲」(および単一ノード上で複数のコピーをスケジュール) を実行します。

-nw 終了する前にすべてのプロセスが完了するのを待たないでください ラメセック。 このオプション
と相互に排他的です -w.

-pty 擬似 tty サポートを有効にします。 とりわけ、これによりラインバッファリングが有効になりました。
出力(おそらくこれがあなたが望むものです)。 この機能が備わっている唯一の理由は、
デフォルトで有効になっていないのは、非常に新しく、あまり広く普及されていないためです。
まだテスト済みです。

-s このノードからプログラムをロードします。 このオプションはコマンドラインでは無効です
アプリケーションスキーマが指定されている場合。

-v 冗長にしましょう。 重要なステップが完了したらレポートします。

-w すべてのアプリケーションが終了するまで待ってから、 ラメセック 終了します。

-x 実行前に、指定された環境変数をリモート ノードにエクスポートします。
プログラム。 既存の環境変数を指定できます (例を参照)
セクションを参照)、または対応する値で指定された新しい変数名。 の
のパーサー -x オプションはあまり洗練されていません。 それは理解さえできません
引用符で囲まれた値。 ユーザーは、環境に変数を設定してから、
つかいます -x それらをエクスポートする (定義しない)。

コラボレー どこから開始するかを示すノードおよび/または CPU 識別子のセット

-- 引数 これらの実行時引数をすべての新しいプロセスに渡します。 これが常に最後でなければなりません
への議論 ラメセック。 このオプションは、次の場合にはコマンド ラインでは無効です。
アプリケーションスキーマが指定されています。

DESCRIPTION


ラメセック 本質的にはのクローンです ムピルン(1) ですが、非 MPI プログラムを対象としています。

XNUMX回の呼び出しで、 ラメセック LAM で実行される非 MPI アプリケーションを開始します。 を開始するには、
すべての LAM ノードで同じプログラムを使用する場合、アプリケーションは ラメセック command
ライン。 LAM ノードで複数のアプリケーションを起動するには、アプリケーション スキーマが必要です
別のファイルにあります。 見る アプリスキーマ(5) アプリケーション スキーマの構文の説明については、
しかし、本質的には複数のものが含まれています ラメセック コマンドラインからコマンド名自体を除きます。
プログラムの異なるインスタンス化に対して異なるオプションを指定する機能は、
アプリケーション スキーマを使用するもう XNUMX つの理由。

会場 各部の名称
「SYNOPSIS」の where 句の記述に使用される場所の命名法
上のセクションは次と同じです ムピルン(1)の命名法です。 を参照してください。 ムピルン(1) のマニュアルページ
場所の命名法についての長い議論。

CPU ごとの構文は有効ですが、 ラメセック、あまり意味がありません。
MPI_COMM_WORLD でのプロセス ランクの順序は関係ありません。 したがって、ノードごとの命名法は
通常、これが推奨される構文です ラメセック.

申し込み スキーマ or 実行可能ファイル プログラム?
XNUMX つの異なる形式を区別するには、 ラメセック コマンドラインでノードを検索するか、
-c オプション。 どちらも指定されていない場合は、コマンドラインで指定されたファイルが次のように想定されます。
アプリケーションスキーマになります。 いずれかまたは両方が指定された場合、ファイルは
実行可能プログラムになります。 ノードと -c 両方が指定されている場合は、
プログラムは、内部 LAM スケジューリング ポリシーに従って、指定されたノード上で開始されます。
ノードを XNUMX つだけ指定すると、LAM はプログラムのすべてのコピーを XNUMX つのノードで事実上実行するようになります。
場所。 もし -c が指定されているがノードが指定されていない場合は、すべての LAM ノードが使用されます。 ノードが与えられた場合、
はなく、 -c、その後、プログラムの XNUMX つのコピーが各ノードで実行されます。

演奏曲目 Transfer
デフォルトでは、LAM は、特定のノードが存在するターゲット ノード上の実行可能プログラムを検索します。
インスタンス化が実行されます。 ファイル システムが共有されていない場合、ターゲット ノードは
同種であり、プログラムが頻繁に再コンパイルされる場合、LAM があると便利な場合があります
プログラムをソース ノード (通常はローカル ノード) から各ターゲット ノードに転送します。 の
-s オプションはこの動作を指定し、単一のソース ノードを識別します。

位置
LAM は、ユーザーの PATH 内のディレクトリを検索して実行可能プログラムを探します。
ソースノードで定義されている環境変数。 この動作は以下と一致します
ソースノードにログインし、シェルからプログラムを実行します。 リモートノードでは、
「。」 パスはホームディレクトリです。

LAM は、ローカル ディレクトリ、値の XNUMX つのディレクトリでアプリケーション スキーマを検索します。
LAMAPPLDIR 環境変数と laminstalldir/boot (「laminstalldir」は
LAM/MPI がインストールされたディレクトリ。

スタンダード I / O
LAM は、UNIX 標準入力をすべてのリモート ノードの /dev/null に送信します。 ローカルノード上では、
呼び出された ラメセック、標準入力はから継承されます ラメセック。 デフォルトは以前のものです
-w オプションは、端末へのアクセスの競合を防ぎます。

LAM は、UNIX 標準出力とエラーをすべてのリモート ノード上の LAM デーモンに送信します。 ラム
キャプチャされたすべての出力/エラーを呼び出したノードに送信します。 ラメセック そしてそれを上に印刷します
標準出力/エラー ラメセック。 ローカルプロセスは、次の標準出力/エラーを継承します。
ラメセック 直接転送します。

したがって、典型的な
シェルリダイレクトプロシージャ ラメセック.

% lamexec N my_app my_input my_output

  -f このオプションを使用すると、上記の標準 I/O をサポートするために必要なすべてのセットアップが回避されます。
リモート プロセスは完全に /dev/null にダイレクトされ、ローカル プロセスはファイルを継承します。
からの記述子 ランブートとします。

疑似 tty サポート
  -pty オプションで、プロセス出力の擬似 tty サポートが有効になりました。 これにより、とりわけ、
リモートノードからのラインバッファ出力の場合(おそらくこれがあなたが望むものです)。

このオプションは現在、デフォルトではありません ラメセック 徹底されていないので
さまざまな Unix でテストされました。 ユーザーは使用することをお勧めします -pty そして報告する
問題は LAM チームに報告します。

電流プローブ ワーキング ディレクトリ
ローカルノード上に作成された新しいプロセスの現在の作業ディレクトリが継承されます。
から ラメセック。 リモート ノード上に作成された新しいプロセスの現在の作業ディレクトリは次のとおりです。
リモートユーザーのホームディレクトリ。 このデフォルトの動作は、 -D オプションを選択します。

  -D オプションは、新しいプロセスの現在の作業ディレクトリをディレクトリに変更します。
新しいユーザーのプログラムが呼び出される前に、実行可能ファイルが存在する場所。

に代わるもの -D オプションは -wd オプションを選択します。 -wd ユーザーが指定できるようにします
任意の現在の作業ディレクトリ (実行可能ファイルの場所と比較)。 注意してください。
-wd オプションはアプリケーション スキーマ ファイルで使用できます (「 アプリスキーマ(5))も同様です。

プロセス 環境
アプリケーション内のプロセスは、ノード上の LAM デーモンから環境を継承します。
彼らはその上で走っています。 LAM デーモンの環境は、LAM デーモンの起動時に固定されます。
ラムと ランブート(1) ユーザーのシェルから継承されます。 起点ノードではこれにより、
そこからのシェルになる ランブート(1) が呼び出され、リモート ノードではこれがシェルになります
始めた rsh(1)。 動的にリンクされたアプリケーションを実行する場合、
LD_LIBRARY_PATH 環境変数を設定するには、それが確実に設定されるように注意する必要があります。
LAM の起動時に正しく設定されていること。

輸出 環境 Variables
  -x オプション ラメセック 特定の環境変数を新しい環境変数にエクスポートするために使用できます。
プロセス。 一方、の構文は、 -x このオプションを使用すると、新しい変数を定義できます。注意してください。
このオプションのパーサーは現在あまり洗練されていません。
引用符で囲まれた値を理解する。 ユーザーは環境に変数を設定して使用することをお勧めします。
-x それらを輸出する。 それらを定義しないこと。


lamexec N prog1
すべてのノードで prog1 をロードして実行します。 各ノードで実行可能ファイルを検索します。

lamexec -c 8 prog1
LAM が実行したい場所で prog8 の 1 つのコピーを実行します。

lamexec n8-10 -v -nw -s n3 prog1 -- -q
ノード 1、8、9 で prog10 をロードして実行します。ノード 1 で prog3 を検索して転送します。
それを XNUMX つのターゲット ノードに送信します。 各プロセスが作成されるたびにレポートします。 「-q」を代入してください
それぞれの新しいプロセスにコマンドラインを追加します。 プロセスが完了するまで待たないでください。
出る ラメセック.

lamexec -v myapp
アプリケーション スキーマ myapp を解析し、その中で指定されているすべてのプロセスを開始します。 報告
各プロセスが作成されるにつれて。

lamexec NN -pty -wd /workstuff/output -x DISPLAY run_app.csh
アプリケーション「run_app.csh」(おそらく C シェル スクリプト)を各ノードで XNUMX 回実行します。
システム (双方向 SMP に最適)。 擬似 tty サポートも有効にし、ディレクトリを変更します
/workstuff/output にコピーし、DISPLAY 変数を新しいプロセスにエクスポートします (おそらく
シェル スクリプトは xv などの X アプリケーションを呼び出して出力を表示します)。

lamexec -np 5 -D `pwd`/my_application
一般的な使用法 ラメセック ファイルシステムが全員で共有される環境では
マルチコンピュータ内のノードでは、シェルエスケープされた「pwd」コマンドを使用して完全なノードを指定します。
実行する実行可能ファイルの名前。 これにより、ディレクトリを配置する必要がなくなります。
パス; リモートノートには実行するための絶対ファイル名があります(そして変更されます)
呼び出し時にそのディレクトリに移動します)。

診断


lamexec: 実行フォーマットエラー
アプリケーション スキーマで非 ASCII 文字が検出されました。 これは通常、
コマンドライン使用法エラー ラメセック アプリケーション スキーマと
実行ファイルが与えられました。

lamexec: アプリケーション スキーマ、XXX 行目に構文エラーがあります
使用法または構文エラーのため、アプリケーション スキーマを解析できません。
ファイル内の指定された行。

ファイル名: そのようなファイルまたはディレクトリはありません
このエラーは XNUMX つの場合に発生する可能性があります。 指定されたファイルが見つからないか、存在します。
は見つかりましたが、ユーザーがプログラムを実行するための十分な権限を持っていないか、
アプリケーションのスキーマを読み取ります。

リターン VALUE


ラメセック すべてのプロセスが開始された場合、0 を返します。 ラメセック 普通に終了します。 ゼロ以外の値は、
lamexec で内部エラーが発生した場合、または XNUMX つ以上のプロセスが終了した場合に返されます。
異常に。 lamexec で内部エラーが発生した場合、対応するエラー コードは次のとおりです。
戻ってきた。 XNUMX つ以上のプロセスがゼロ以外の終了コードで終了した場合、
プロセスの戻り値 ラメセック 異常終了の最初の通知が返されます。
一般に、これは停止した最初のプロセスになりますが、停止することが保証されているわけではないことに注意してください。
そうであってください。

ただし、次の場合は注意してください。 -nw スイッチが使用されている場合、lamexec からの戻り値は使用されません。
それによって開始されたプロセスの終了ステータスを示します。

onworks.net サービスを使用してオンラインで lamexec を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad