4

さまざまなマシン セット (Open Mpi 1.5 を搭載したすべての Linux マシン) で mpirun を使用してプログラムを実行したいと考えています。

現在、 でログオンできるマシンとusername A、 を使用する別のマシンのセットがありますusername B。すべてのマシンは ssh 経由でアクセスできますが、これを実現する方法がわかりません。

私のホストファイルは次のようになります:

localhost          #username local

machine_set_A_1    #username A
machine_set_A_2    #username A
...

machine_set_B_1    #username B
machine_set_B_2    #username B
...

これを達成することは可能ですか?ありがとうございました。

4

4 に答える 4

4

OpenSSH クライアントは、次のようなホストごとの構成をサポートしています。

Host machine_set_A_1 machine_set_A_2 ...
User username_A

Host machine_set_B_1 machine_set_B_2 ...
User username_B

このHostディレクティブは、次のすべての宣言 (次のHostディレクティブまで) を、ディレクティブの後に指定されたパターンのいずれかに一致するホスト名に対して行われた接続にのみ適用するように制限します。

SSH クライアント構成ファイルは、通常、/etc/ssh/ssh_config(システム全体の構成) と~/.ssh/config(ユーザー固有の構成。そこにあるディレクティブはシステム構成のディレクティブをオーバーライドします) にあります。

の man ページにssh_config(5)は、使用可能なキーワードに関する詳細情報と、サポートされているパターンに関する詳細情報があります (Host *.groupA.uni.edu該当する場合は、 などを使用すると、入力を節約できます)。

于 2012-11-16T14:21:23.753 に答える
2

私自身の問題の解決策を見つけようとして、私はちょうどそのようなものを見つけました(http://wiki.mpich.org/mpich/index.php/Using_the_Hydra_Process_Managerで)。それはあなたにとって役立つかもしれませんが、これはMPICHのためです。

異なるユーザー名のマシンでのHydraの使用

Hydraは、一部のランチャー(sshやrshなど)での異なるユーザー名の使用のみをサポートしています。このため、ホストファイルには「user=」エントリが含まれている必要があります。

shell$ cat hosts

       donner  user=foo
       foo     user=bar
       shakey  user=bar

編集

OpenMPIについては、http://www.open-mpi.org/faq/?category = rsh#rhosts-fileを参照してください。

于 2012-11-16T13:46:39.477 に答える
2

これを行うために私が考えることができる唯一の方法は、プロセスランチャーのラッパーを作成して、ssh user1@hostname と user2@hostname を実行することです。プロセス ランチャー ssh エージェントは、次の方法で設定できます。

mpirun -mca orte_rsh_agent "/path/to/mysshwrapper" -machinefile machines.txt -np 4 ./subarray

次に、ラッパーから ssh への呼び出しに適切なユーザー名引数を挿入する必要があります。

もちろん、他のユーザー名アカウントへのログインがパスワードレスになるように、ssh キーを設定する必要もあります。

于 2011-06-30T14:42:13.230 に答える
-2

通常は、mpi ジョブを実行したい各マシンに mpi をインストールするだけです。次に、mipexec 呼び出しで、mpi を持つホスト/マシンを識別するマシンファイルを指定します。mpi smpd/daemon は、各ホストでジョブを開始します。

例:

 mpiexec -f machinefile -n 32 a.out

マシン ファイルは次のようになります。

 host1.some.place:16
 host2.some.place:16

これは、それぞれ 16 コアを持つ 2 つのホストを意味します。

参照する:

mpich2 ドキュメント

于 2011-06-29T11:19:40.417 に答える