初期設定、コンパイル、実行の方法

実行 Host

以下の設定は、研究室の環境に依存します。MPI が実行できるのは

tube.phys.tohoku.ac.jp

です。現在は global IP に接続していません。したがって、flex などから 経由して telnet で入ります。

/home1/students に自分の 作業 directory を作ります。tube の計算結果はここに書かれます。mkdir などは superuser になることが必要です。

% cd /home1/students
% mkdir username
% chown username username

コンパイル mpif77 mpif90

プログラムの編集は、flex の xemacs で行います。tube に余分な負荷をかけないことが必要です。/home1 は mount されています。

flex14:~% df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/hda3             75761136  50779980  21132640  71% /
/dev/hda1               127351      7032    113744   6% /boot
none                    516468         0    516468   0% /dev/shm
tube:/home1           77609000   4619232  69047416   7% /misc/home1

mpif77 program.f が MPI で記述された ソースコードです。path が設定されていますので、動くと思います。

[rsaito@tube ~]$ which mpif77
/usr/local/mpich-intel/bin/mpif77

fortran 90 用には mpif90 があります。

mpif77 --help で 簡単な使い方がでます。man mpif77 で詳細なman がでます。

実行 mpirun

% mpirun -np 8 ./a.out 

で実行できます。-np 8 は 8 ノード使うという意味です。 ノード数は 8 以下なら 現在のシステムにあっています。8 以上を 指定しますと、1 processor に 2 つ以上の process が動く状況で 実現されます。特殊な状況でない限り 8 以上を指定すべきではありません。

ノード数は、DO loop で 分割する数の約数である のが良い。8 ノードなら DO loop の繰り返し数が 100 ではなく、8 の倍数である 96 の方が 有効に処理できる。

mpirun は rsh で実行するので、.rhosts file が それぞれの host の home directory に ないと

Permission denied.

というメッセージを出してとまる。tube の 子クラ スター hpc2, hpc3, hpc4, hpc5 の user のhome directory は、tube(=hpc1) の /home1 以下にあるので、

/home1/students/user/.rhosts (または /home1/guests/user/.rhosts) に以下の記述を入れる。

tube rsaito
tubeL rsaito
flex rsaito
flexL rsaito
wire rsaito
hpc1 rsaito
hpc2 rsaito
hpc3 rsaito
hpc4 rsaito
hpc5 rsaito
hpc1-e rsaito
hpc2-e rsaito
hpc3-e rsaito
hpc4-e rsaito
hpc5-e rsaito

の記述がないといけない。ここで rsaito を ユーザ名にかえて使用する。

現システムの構成

flex(汎用機) と tube(クラスター機) からなる。 tube は global IP で接続していない。LaTeX などを flex 上で行うために、home directory は flex 上の partition 上にある。tube での 実行で flex 上のdisk 上に書き込むと速度が遅くなるので、tube:/home1 上に working directory ができている。この directory は hpc2-hpc5 の クラスターの home directory にもなっている。 (/home1 = /home)

原則として hpc2-5 に telnet しなくても作業がで きるはず。

 flex 汎用機、 P4 Global IP, Local IP /home
/home1

tube クラスター機 = hpc1 P4        Local IP, 1G IP       /home /home1
             子機 = hpc2 Xenon     1G IP                 /home=/home1
             子機 = hpc3 Xenon     1G IP                 /home=/home1
             子機 = hpc4 Xenon     1G IP                 /home=/home1
             子機 = hpc5 Xenon     1G IP                 /home=/home1

コメントまたはアドバイスなどがあれば以下のアドレスへどうぞ。
rsaito@flex.phys.tohoku.ac.jp