自分のためのメモ

openmpi with g95

下のように mpich2 と gfortran で遊んでいんたのだが、
本格的に CReSS の計算を行った所、top で眺めているとプロセスリストが 更新されるたび毎に、SIZE が 1M ずつ増えて、
最終的にメモリが一杯になって 止まってしまうと言う現象が起こった。
この現象は、シングル版の CReSS では 起こらないし、研究室の並列計算機 (Linux RH mpich1 ifort) でも起こらない。
mpich2, mpich1, openmpi と mpi を替えて試すが、変化なし。。。
openmpi が SMP で良いような感じのことが書かれているので、そのまま openmpi を 使う事にする。

数日間の試行錯誤の末、
gfortran を止めて g95 をインストールして openmpi を作り直してみた。
ports/lang/g95 で make install した後、 ports/net/openmpi で make -DFC=g95 install するとこけた(追求してない)ので work/openmpi-1.2.5/ で setenv FC /usr/local/bin/g95 してから configure; make ; make install した。
この状態だと。並列計算してもプロセスのサイズは 増えないようだ。 :-) とすると、犯人は gfortran か???
ともあれ、これでやっと本格的に計算できる状況になった(と思いたい。。。)(2008.3.6)

上記のメモリの問題は、いつの間にか解消したみたいで、gfortran43 とかの時代では ちゃんと動くようです。

mpich2

インストール

cd /usr/ports/net/mpich2/
make install
これで gfortran42 を使う形でインストールされる。

使い方

tama は 4コアの Core2QUOD PC なので、machinefile に tama:4 とだけ書いておき、
mpd
mpirun -machinefile machinefile -np 2 /bin/date
mpdallexit
とかすると動く。-np の次が pe の数である。
多分、CReSS も
mpirun -machinefile machinefile -np 2 ./solver.exe < user.conf
で動くんじゃないかな、未確認だけど
mpiexec と mpirun の関係も良く分かっていない。。。。。

2007.4.26 のメモ メモのトップへ
I. Tamagawa