2

OS X のビルトインを使用して並列プログラムを構築mpic++し、ホーム ネットワーク内の 2 台の Mac で MPI ジョブを実行しようとしています。どちらも Snow Leopard 10.6.8 を使用しており、ジョブをローカルで実行できます。を使用して他のマシンにアクセスすることもできますssh。ただし、入ってから

mpirun -n 2 --host localhost,10.0.1.2 ./enigmaMPI

パスワードの入力を求められ、次の出力が得られます。

--------------------------------------------------------------------------
Failed to find or execute the following executable:

Host:       iMac.local
Executable: ./enigmaMPI

Cannot continue.
--------------------------------------------------------------------------
mpirun noticed that job rank 0 with PID 7748 on node localhost exited on signal 15 (Terminated). 

このメッセージは、解決策を見つけるのに役立つものではありません... 誰か助けてくれませんか?

次のコマンドを使用してプログラムを作成しました。

mpic++ main.cpp enigma.cpp enigma.h -o enigmaMPI
4

1 に答える 1

1

メッセージは可能な限り有益です。enigmaMPIこれは、MPI がリモート ノードの同じ場所にある実行可能ファイルを見つけることができないことを意味します。次のことを確認する必要があります。

  • enigmaMPIlocalhostと の両方で同じ場所にある可能性があり10.0.1.2ます。
  • MPI ライブラリとランタイムは、両方のマシンにインストールされています。

Snow Leopard を実行しているので、Snow Leopard に同梱されているバージョンの Open MPI を使用している可能性が高いです。そうすれば、2 番目の点について心配する必要はありません。最初のポイントは、ローカル マシンのenigmaMPIが の下/Users/username/project/enigmaMPIにある場合、それを他の Mac の同じパスにコピーする必要があることを意味します。

これが、ほとんどのクラスターが NFS、Lustre、GPFS などの共有ファイル システムを使用し、各計算ノードの同じ場所にマウントする理由です。また、公理で指摘されているように、パスワードなしの SSH (公開鍵を使用) を設定すると、実行するたびにパスワードを入力する手間が省けますmpirun

また、私が思い出す限り、Snow Leopard にはまだ Xgrid が含まれており、提供されている Open MPI バージョンには、Xgrid を介してプロセスを実行できるモジュールが含まれています。2 台目の Mac で Xgrid 共有を有効にしてから、Xgrid ランチャーを使用するだけで済みます...

于 2012-12-02T13:30:14.177 に答える