mpich設定


「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オプション:計算に使用するノードファイルを指定します。

無事に実行されていれば設定完了です。

Comments are closed.