インストール方法

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
ファイルに上記のコマンドを記載します。