2009年8月7日金曜日

インストールVASP(ifort11.0+mkl10.2)

ちとわけあって、研究室で4年ほど稼働していたPCクラスターをばらしたものにOSとコンパイラつんでvasp動かそうというプロジェクトに今週は追われていた。学生が運用できる計算機(のちのちはMPIつかえるクラスターへ)を整備しようという計画+ちと早急に数台計算機がいるイベントがあったので。研究室として保有しているものは、現在主力のマルチコアで早いのあるけど、いろいろインストールしてみたり、ちょっといじったりができないから学生が運用できるのがあればいいなぁと思った次第。私はVASP使わないんだけどな。
OSはCentOS5を使用。CPUはいまどきPen4。VASPつかうのでFortranコンパイラがいるのだが、もちろんifort(非商用)をもらってくる。(11.1)
あと、blas.lapackを最適化されたので使いたいのでintel math kernel library (mkl)も非商用フリーをもらってくる
アドレスはこちら。メール送るだけでもらえます
ありがたい。
http://software.intel.com/en-us/articles/non-commercial-software-download/

pen4なのでifortは32ビット版をもらってきました。(ia32)
ifortとmklのインストールはinstall.shを実行するだけなんだが、あとめんどくさいのは、pathの設定。
ユーザーのhome/aaa/.bashrcに


. /opt/intel/Compiler/11.1/046/bin/ia32/ifortvars_ia32.sh
(これは. /opt/intel/Compiler/11.1/046/bin/ifortvars.sh ia32 とCPUの種類を引数で与えてもいいっぽい)
. /opt/intel/mkl/10.2.1.017/tools/environment/mklvars32.sh

LD_LIBRARY_PATH=/opt/intel/mkl/10.2.1.017/lib/32:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

を書き足しました。

vaspのインストールはMakefileのチューニングで盛大にこけました。ifortのバージョンが新しく変わったせいで、オプションを書き変えないといけなかったり。pen4仕様(MPI無)にするには、

FC=ifort

OFLAG=-O3 -xW -mtune=pentium4

BLAS= -L/opt/intel/mkl/10.2.1.017/lib/32 -lmkl_intel -lmkl_sequential -lmkl_core -lpthread -liomp5
LAPACK= -L/opt/intel/mkl/10.2.1.017/lib/32 -lmkl_intel -lmkl_sequential -lmkl_core -lpthread -liomp5

fft3dlib.o : fft3dlib.F
$(CPP)
$(FC) -FR -lowercase -O1 -xSSE4.1 -unroll0 -w95 -vec_report3 -c $*$(SUFFIX)

あたりを書き換えればいいみたいです。
(しかし、自分のデスクにあるCore2機はx86_64なせいかpen4とは同じようにはいかなかった)
さて、次は並列化してみるか。いやそれよりD論進めろよと。

0 コメント: