Install MPICH with Intel Compilers on Debian 5.0
SONY VAIO TYPE Z (Intel Core2 Duo , Windows Vista 32bit)のVMware上で動いているDebian5.0にインストールした記録です.まず,最新のMPICHソースをダウンロードし,作業ディレクトリにコピーしておきましょう.作業ディレクトリに移動し,以下の手順でインストールします.
- $ tar xvzf mpich.tar.tar
- $ cd mpich-1.2.7p1
- $ ./configure -prefix=/usr/local/mpich-1.2.7p1 -fc=ifort -f90=ifort -f77=ifort -cc=icc
- $ make
- # make install
make installの際に私の環境ではエラー(おそらくテストで)が出ましたが,インストールそのものには問題なかったようです.
次に,以下の様に環境変数の設定をします(bashの場合).
- export MPIROOT=/usr/local/mpich-1.2.7p1
- export MPIBIN=$MPIROOT/bin
- export MPIINC=$MPIROOT/include
- export PATH=$MPIBIN:$MPIINC:$PATH
/usr/local/mpich-1.2.7p1/share/machines.LINUX というファイルを自身の環境に合わせて編集します.1ノード(シングル)の場合,
- $ hostname
で表示されるホスト名(ここではdebianとし,コア数を2とする)とコア数を以下の形式で記述します.複数ノードの場合はそれぞれのホスト名とコア数を改行して記述していきます.
- debian:2
次にコンパイルです.
- mpif90 program.f
で簡単にコンパイルできます.a.outができたとして,最後に実行です.-npでノード数を与えます.
- mpirun ?np 1 a.out
VMwareのプロセッサ数を1とした場合と2とした場合で比較したところ,プロセッサ数2でmachines.LINUXをdebianとだけした場合が若干他の場合より高速でした.しかし,同じ実験を繰り返すと,各回でCPU時間が若干異なり,プロセッサ数を変化させた場合の差も小さいので,気にしても仕方ないように思いました.
ここで注意(というか疑問点)です.VMwareの共有フォルダ機能でWindowsのフォルダをDebianから使えるようにしていますが,この共有フォルダにソースプログラムを展開してコンパイルしますと,以下の様なエラーが出てだめでした.共有フォルダの権限の問題なのかよく分からないので,どなたかご教示いただけると幸いです.
- ln: creating symbolic link `mpif.h': サポートされていない操作です
- cad3d.f(24995): error #5102: インクルード・ファイル 'mpif.h' を開けません。
- INCLUDE 'mpif.h'