MPICH2 を学生にインストールさせて授業で使っているのだけど、最新の MacBook を使っている学生約2名と、私の MacBook Air だけ、正常に mpirun できない。
調べてみると、Leopard には最初から OpenMPI がインストールされているので、MPICH2 の /usr/local/bin/mpirun より先に、OpenMPI の /usr/bin/mpirun が実行されてしまって、ライブラリが違う(あるいは、MPI サーバが起動していない?)と怒られてしまうらしい。
そうか、Xgrid は OpenMPI ベースなんだっけ。
とりあえず、
cd /usr/bin
sudo mv mpicc mpicc_
sudo mv mpicxx mpicxx_
sudo mv mpirun mpirun_
sudo mv mpiexec mpiexec_
cd /usr/include
sudo mv mpi.h mpi_.h
として、mpdboot ~ mpicc ~ mpirun がマトモに実行できるようになった。
ライブラリ名は OpenMPI と MPICH2 でかぶっていないので、放っておいてよかろう。
初代 MacBook だと Leopard でもうまく行くのが謎なんだが。。。ああ、単にその時期の学生マシンのパスの設定が、/usr/local/bin の方が先に来るようになってるのかな。若干問題な気もするけど、そっちの方が妥当な気もするから、まあいいや。
コメントを書く