SSHとX11を使用したmpirun

SSHとX11を使用したmpirun

私たちは現在mpirunを使って複数のX11クライアントを起動するプログラムを書こうとしています。プログラムがプレーンテキストの場合は、次のコマンドを使用してコンピュータのリストからプロセスを実行できます。

mpirun -np 4 --hostfile hostlist date

ここのホストのリストは、mpiで構成されたコンピュータ上のファイルです。コンピュータは公開鍵を使用して自動的に認証するように設定されています。また、ローカルコンピュータでX11プログラムを実行することもできます。たとえば、次のようになります。

mpirun -np 4 xclock

4つのxclockが期待どおりに表示されます。ただし、ホストファイルを使用してX11プログラムを実行しようとすると:

mpirun -np 4 --hostfile hostlist xclock

その後、両方のxclockが起動しますが、リモートシステムは以下を報告します。

Error: can't open display:

しかし、私たちはすでに構成しています。.ssh/configそして

ForwardX11 Yes

次のコマンドシーケンスが機能していることを確認できます。

ssh 10.0.0.2
# connect to mpi cluster node
xclock
# xclock appears on screen

また、mpirunの-xを使用してDISPLAY変数を次のように設定すると:

mpirun -np 4 --hostfile hostlist -x DISPLAY=10.0.0.1:0.0 xclock    

これにより別のエラーが発生します。

Error: can't open display: 10.0.0.1:0.0

我々は、以下を介してすべてのアクセス制御を無効にしようとします。

xhost +

全体的に、mpirunとX11の配信の助けが必要です。私たちはUbuntu 12.10とopenmpi 1.4.5で動作しています。

ベストアンサー1

次のコマンドはうまくいくようです

mpirun -d -np 4 -hostfile hostlist -mca pls_rsh_agent "ssh -X -n" xclock

おすすめ記事