「mpich」のインストール及び設定を行います。
(1)「mpich」(ver 1.2.7p1)をダウンロードする。
[root@kanri ~]# wget ftp://ftp.mcs.anl.gov/pub/mpi/mpich.tar.gz
(2)「mpich」のダウンロード後、解凍する。
[root@kanri ~]# tar zxvf mpich.tar.gz
(3)管理サーバに「mpich」をインストールする。
[root@kanri ~]# cd mpich-1.2.7p1/ [root@kanri mpich-1.2.7p1]# ./configure --prefix=/usr/local/mpich/ [root@kanri mpich-1.2.7p1]# make && make install
注)「mpich」の通信は、デフォルトで「rsh」になっています。もし、sshで通信したい場合は、[-rsh=ssh]のオプションを付け加えてください。
(4)「mpich」インストール後、「mpich」の実行ファイルまでパスを通す。
[mpi@kanri ~]$ vi .bashrc ----以下を追加---- PATH=/usr/local/mpich/bin:$PATH [mpi@kanri ~]$ source .bashrc
いちいちユーザを作成する度に、ユーザ毎の「.bashrc」を編集するのが面倒な場合は以下のような設定ほうほうもあります。
「/etc/profile」に赤い網掛け部分を追加してください。
上記設定で、新規にユーザを作成しても自動的にパスが通っています。
[root@kanri ~]# vi /etc/profile # No core files by default ulimit -S -c 0 > /dev/null 2>&1 if [ -x /usr/bin/id ]; then USER="`id -un`" LOGNAME=$USER MAIL="/var/spool/mail/$USER" pathmunge /usr/local/mpich/bin fi
(5)動作テストを行う。
動作テストプログラムには、有名な「姫野ベンチ」を使用します。
ベンチマークは以下のURLからダウンロードできます。
http://accc.riken.jp/HPC/HimenoBMT/download2.html
注)ソースコード(C+MPI,static allocate version)をダウンロードしてください。
ここでは、管理サーバ1台、計算ノード2台(node1、node2)で姫野ベンチを実行します。
ダウンロード後、管理サーバへアップし解凍します。
解凍後、姫野ベンチを実行します。
実行するユーザは「mpi」を例にします。
[mpi@kanri cc_himenoBMTxp_mpi]$ source paramset.sh M 1 1 3 [mpi@kanri cc_himenoBMTxp_mpi]$ mpicc himenoBMTxps.c
コンパイル時に警告が出ますが無視します。
コンパイル後に、計算に使用するノードを記述するファイルを作成します。
[mpi@kanri cc_himenoBMTxp_mpi]$ vi host kanri node1 node2
上記ファイル作成後、姫野ベンチを実行します。
[mpi@kanri cc_himenoBMTxp_mpi]$ mpirun -np 3 -machinefile host a.out Sequential version array size mimax = 129 mjmax = 129 mkmax = 257 Parallel version array size mimax = 129 mjmax = 129 mkmax = 88 imax = 128 jmax = 128 kmax =87 I-decomp = 1 J-decomp = 1 K-decomp =3 Start rehearsal measurement process. Measure the performance in 3 times. MFLOPS: 1269.519428 time(s): 0.323993 1.693126e-03 Now, start the actual measurement process. The loop will be excuted in 555 times This will take about one minute. Wait for a while cpu : 59.384880 sec. Loop executed for 555 times Gosa : 9.607096e-04 MFLOPS measured : 1281.359000 Score based on Pentium III 600MHz : 15.467878
-npオプション:ノードプロセス数を指定します。今回は、3CPU使用するので3を指定しています。
-machinefileオプション:計算に使用するノードファイルを指定します。
無事に実行されていれば設定完了です。