インストール方法
mVMC は次の場所からダウンロードできます。
https://github.com/issp-center-dev/mVMC/releases
ダウンロードしたファイルを次のように展開してください。
$ tar xzvf mVMC-xxx.tar.gz
mVMC は次の2 通りの方法でインストールできます。
cmake を使う方法
mVMCを展開したディレクトリのパスを$PathTomvmc、ビルドディレクトリを
$HOME/build/mvmc (任意の場所を指定可能) とした場合に、
cd $HOME/build/mvmc
cmake -DCONFIG=gcc $PathTomvmc
make
でコンパイルすることができます。コンパイル後、$HOME/build/mvmc 直下にsrc
フォルダが作成され、実行ファイルであるvmc.out がそのフォルダ内に作成されます。
なお、上の例ではgcc コンパイラを前提としたコンパイルになっていますが、
- sekirei : 物性研究所システムB “sekirei”
- fujitsu : 富士通コンパイラ
- intel : intel コンパイラ+ Linux PC
- gcc : GCC + Linux PC
のオプションが用意されています。以下、mVMCを展開したディレクトリでビルド
する例を示します(intel コンパイラの場合)。
mkdir ./build
cd ./build
cmake -DCONFIG=intel ../
make
実行後、build フォルダ直下にsrc フォルダが作成され、vmc.out がsrc フォルダ内に
作成されます。また、LAPACK に代わりScaLAPACK を計算に使用することが可
能です。その場合には、
-DUSE_SCALAPACK=ON -DSCALAPACK_LIBRARIES="xxx"
をcmake をする際に付け加えてください(xxx にはScaLAPACK を利用するための
ライブラリ一式を指定します)。なお、コンパイラを変更しコンパイルし直したい場合には、都度build フォルダごと削除を行った上で、新規に上記作業を行うことを
お薦めします。
Tips
sekirei でcmake を利用するには
source /home/issp/materiapps/tool/env.sh
をあらかじめ実行する必要があります。
またScaLAPACK を利用するには
cmake -DCONFIG=sekirei ../ -DUSE_SCALAPACK=ON
を行うと、デフォルトで
-DSCALAPACK_LIBRARIES="\${MKLROOT}/lib/intel64 -lmkl_scalapack_lp64
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core
-lmkl_blacs_sgimpt_lp64"
が指定されます。ライブラリへのパスが異なる場合には、
-DSCALAPACK_LIBRARIES を適宜変更してください。
mVMCconfig.sh を使う方法
展開したディレクトリのなかにあるmVMCconfig.sh スクリプトを次のように実
行してください。(物性研システムB”sekirei” の場合)
$ bash mVMCconfig.sh sekirei
これによりコンパイル環境設定ファイルmake.sys がsrc/ディレクトリに作られま
す。mVMCconfig.sh の引数は次のものに対応しています。
- sekirei : 物性研究所システムB “sekirei”
- kei : 京コンピューターおよび物性研究所システムC “maki”(FX10)
- intel-openmpi : Intel コンパイラ+ OpenMPI
- intel-mpich : Intel コンパイラ+ MPICH2
- intel-intelmpi : Intel コンパイラ+ IntelMPI
- gcc-mpich-mkl : GCC + MPICH + MKL
- gcc-openmpi : GCC + OpenMPI
make.sys の中身は次のようになっています(物性研システムB “sekirei” の場合)。
CC = mpicc
F90 = mpif90
CFLAGS = -O3 -no-prec-div -xHost -qopenmp -Wno-unknown-pragmas
FFLAGS = -O3 -implicitnone -xHost
LIBS = -L $(MKLROOT)/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 ¥
-lmkl_intel_thread -lmkl_core -lmkl_blacs_sgimpt_lp64 -lpthread -lm
SFMTFLAGS = -no-ansi-alias -DHAVE_SSE2
となります。それぞれのマクロ(変数) の説明は次のとおりです。
- CC : C コンパイラー(mpicc, mpifccpx など)
- F90 : fortran コンパイラー(ifort, frtpx など)
- LIBS : リンカーオプション。
- CFLAGS : C コンパイルオプション。
- FFLAGS : fortran コンパイルオプション。
これでコンパイルのための準備が整います。その後
$ make mvmc
とすることで実行可能ファイルvmc.out、vmcdry.out がsrc/内に生成されるの
で、このディレクトリにパスを通すか、パスの通っている場所にシンボリックリン
クを作ってください。
Tips
実行ファイルにパスを通す時には、次のようにします。
$ export PATH=${PATH}:mVMC のディレクトリ/src/
この設定を常に残すには、例えばログインシェルがbash の場合には~/.bashrc
ファイルに上記のコマンドを記載します。