OpenMPI で rsh を使って複数のマシンで実行
久しぶりに書く。
ssh で繋いでもいいけど、パスワード打つのが面倒なので。
rsh の使い方
$(HOME)/.rhosts にマシン名と実行するユーザ名を書く
machine1 krustf machine2 krustf
これで、 rsh を使って hostname コマンドが実行されれば OK.
$ ssh machine2 -l krustf $ rsh machine1 -l krustf "hostname" machine1
OpenMPI で rsh
rsh を使うようにフラグを立てればよい。
後、どうもインストール先によっては必要な実行ファイルを mpirun が認識できないようなので、OpenMPI のインストール先ディレクトリ(configure で --prefix に渡した値)も指定する。
mpirun -prefix /usr/local \ --mca plm_rsh_agent rsh \ --mca btl <ここに任意の接続設定 TCP/IB> \ -np <ランク数> -hostfile <使用するマシン名が記載されたファイル> a.out
上記で指定した -prefix /usr/local で OpenMPI のインストール先を指定する。
rsh 接続が connection refused した場合、rsh-server が実行されていなかったりするので、確認すること。