1

つまりね。2 台の異なるコンピューターに openmpi をインストールしました。既にこのマシンで hello_world の例を個別にコンパイルして実行しており、うまく動作しています。しかし、問題は、このコマンドを起動したときです:

mpirun -hostfile hosts -n 3 hello_c 

ホストファイルで:localhostと私の他のマシンのIP。次に、プログラムは私の ssh パスワードを尋ねます。入力した後、mpirun のような何も追加されず、クラッシュしました。私の本当の問題は、ssh を介して 2 つの異なるコンピューターで mpi プロセスを実行できないことです。

すべての openmpi バイナリとライブラリがパスに適切に設定されていることを正確に示したいと思います。hello_world も同様です。


アップデート

rsa 証明書を使用して pass_wordless ssh をセットアップしましたが、これも機能しません。mpirun をデバッグ モード (-d) で起動したところ、次のようになりました。

[baptiste@baptiste RE51]$ mpirun -d -hostfile hosts hello_c 
[baptiste.thinkFed:02666] procdir: /tmp/openmpi-sessions-baptiste@baptiste.thinkFed_0/53471/0/0
[baptiste.thinkFed:02666] jobdir: /tmp/openmpi-sessions-baptiste@baptiste.thinkFed_0/53471/0
[baptiste.thinkFed:02666] top: openmpi-sessions-baptiste@baptiste.thinkFed_0
[baptiste.thinkFed:02666] tmp: /tmp
[roommateServer:01102] procdir: /tmp/openmpi-sessions-baptiste@roommateServer_0/53471/0/1
[roommateServer:01102] jobdir: /tmp/openmpi-sessions-baptiste@roommateServer_0/53471/0
[roommateServer:01102] top: openmpi-sessions-baptiste@roommateServer_0
[roommateServer:01102] tmp: /tmp

それはここにとどまり、私はmpirunを殺さなければなりません。

情報については、次のコマンドを使用して、リモート ノードで ssh 経由で mpirun hello_c を起動しようとしました。

ssh roomServer mpirun hello_c

これはうまく機能します...すべてのノードで機能しない理由を明確に理解できません..

4

1 に答える 1

0

コンパイラとホストファイルが適切にセットアップされていると仮定します。問題は、2 台のコンピューター間でパスワードなしの ssh をセットアップする必要があることです。そうしないと、説明したエラーが発生します。これは、MPI が迅速かつ効率的に通信する必要があり、メッセージが停止してプログラムがクラッシュする原因となるパスワードの入力を求めるメッセージが表示されないようにする必要があるためです。

于 2013-03-22T23:28:46.763 に答える