(注意)
この記事は古いversionのOpenMXについて書かれています。 最新versionのOpenMXのインストールに関してはこちらです。OpenMX (ver.3.7) のインストール
はじめに
環境設定をメモします。あくまで個人的なメモです。このメモ時点での環境
- マシン:Intel Xeon 5300番台~5500番台
- C++コンパイラ:gcc
- OpenMXのversion:3.5,3.6
- LAPACK,BLAS:CentOS5.4付属
- FFTW:CentOS5.4付属fftw3
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)が出力される。