PS3にMPICH1.2をインストールし、動作確認をした

PS3(Fedora 7)にMPICH1.2をインストールした。(今のところは4台に入れた)

メモしておく。

0. MPIを使ってやり取りをしたい全てのホストに対して、以下の設定をする。

1. rshで使うポートを開放する。セキュリティを気にしないなら
# /usr/sbin/ntsysv
を実行し、iptablesを起動しないようにして、再起動するだけでOK。

2. rsh-serverをインストール
# yum install rsh-server

3. /etc/xinetd.d/rsh の disable=yes を disable=no に書き換える。

4. xinetd の再起動
# /etc/init.d/xinetd restart

5. 今回は /etc/hosts.equiv をrshの許可ホストの設定に使った。
/etc/hosts.equiv にrshを許可するホスト名を書く。(ホスト名は前もって/etc/hostsで設定しておく)
host1
host2
という風に書く。

6. rsh の接続テスト。host1から以下のコマンドを実行。
$ rsh host2 hostname
ここで、host2が表示されれば接続できている。

7. MPICH1.2を以下のサイトからダウンロードしてくる。
MPICH Home Page, http://www-unix.mcs.anl.gov/mpi/mpich1/

8. MPICH1.2をインストール
$ tar zxvf mpich.tar.gz
$ cd mpich-1.2*
$ ./configure --prefix=/usr/local/mpich-1.2.x
$ make
# make install

9. machines.LINUXファイルの設定
/usr/local/mpich-1.2.x/share/machines.LINUX
host1
host2
というように、mpirun実行時に接続したいホストのホスト名を書く。

10. .bashrc に
export PATH=/usr/local/mpich-1.2.x/bin:$PATH
を追加。

11. サンプルプログラムを実行
$ cd /usr/local/mpich-1.2.x/examples
# make clean all
$ mpirun -np 2 cpi
以下のように出力されたら正しくインストールできている。
Process 0 on host1
Process 1 on host2
pi is approximately 3.1416009869231241, Error is 0.0000083333333309
wall clock time = 0.000937

参考サイト:
MPICH のコンパイル, http://www.alde.co.jp/information/mpichcompilation/index.html
[Linux] 一般ユーザーでrshを使いたい, http://h50221.www5.hp.com/cgi/service/knavi/production/doc_disp.cgi?category=722&doc=jnav005683
mpichのインストールマニュアル, http://www.sfk-nga.co.jp/HPC/document/ex01.html