OpenMX (ver.3.6以前) のインストール

(注意)

この記事は古いversionのOpenMXについて書かれています。 最新versionのOpenMXのインストールに関してはこちらです。
OpenMX (ver.3.7) のインストール

はじめに

環境設定をメモします。あくまで個人的なメモです。
このメモ時点での環境
  1. マシン:Intel Xeon 5300番台~5500番台
  2. C++コンパイラ:gcc
  3. OpenMXのversion:3.5,3.6
  4. LAPACK,BLAS:CentOS5.4付属
  5. FFTW:CentOS5.4付属fftw3
Intel MKLのLAPACKとBLASを使いたいんだけど、LAPACKでOpenMXのコンパイルがこける。BLASは-lmkl_blas95_lp64でリンクできるんだけどなあ。 追記:MKLを使ったコンパイルもできました。

LAPACK, BLASの準備(MKLを使い場合は必要ありません)

CentOS5.4の標準機能でいく場合はyumでインストール可能

yum install lapack blas

FFTWの準備

まず、公式サイト(http://www.fftw.org/)からfftw3の最新版をDLしてくる。 その後は素直にインストール

tar xvfz fftw3.*.tar.gz
cd fftw3.*
./configure
make
su
make install
exit

OpenMXのインストール

公式サイト(http://www.openmx-square.org/)からOpenMXの最新版をDLしてくる。 解凍してsourceへ(この辺はTechnical Notes参照)。

tar xvfz openmx*.tar.gz
cd openmx*/source

問題はmakefile内のCCとLIBの設定。 よくわからんが、色々試して動いたものを載せます。

vi makefile

#CentOS5.4標準のLAPACK,BLASを使う場合
#CC = mpicc -Dnoomp -O3 -I/usr/local/include
#LIB = -L/usr/local/lib -lfftw3 -llapack -lblas

#Intel MKLを使ってopenmp並列する場合(mpiccがiccのラッパーになっている場合)
CC = mpicc -openmp -xHOST -O3 -no-prec-div -mkl=parallel
LIB = 

無事にコンパイルが完了したら、インストールします。 openmx*/work/openmxという名の実行ファイルが出来上がるので、テストする。

make
make install
cd ../work
./openmx Methane.dat > log

MPI並列なら次のように。

mpirun -np 1 ./openmx Methane.dat > log

もしくはopenmp並列でMKLを使うならMKLの並列スレッド数を指定してからjob投入です。

setenv MKL_NUM_THREADS 4
./openmx Methane.dat -nt 4 > log

これでmet.outが出力されていればインストール成功。 met.xyzファイルとして原子の位置座標が、met*.cubeファイルとして電子密度(Gaussian Cube File)が出力される。