以下の設定は、研究室の環境に依存します。MPI が実行できるのは
tube.phys.tohoku.ac.jp
です。現在は global IP に接続していません。したがって、flex などから 経由して telnet で入ります。
/home1/students に自分の 作業 directory を作ります。tube の計算結果はここに書かれます。mkdir などは superuser になることが必要です。
% cd /home1/students % mkdir username % chown username username
プログラムの編集は、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 -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