Installation

PIMD + Quantum-ESPRESSO

Here how to compile PIMD version 2.4.0 with the Quantum-ESPRESSO (QE) on the smith cluster system is described. See the link page for the installation on Sekirei@ISSP, The Univ. of Tokyo. To use with PIMD, we are forced to use QE 6.2.1. See also the link page , on which this page heavily relies.

Let us suppose the source code is located at

~/PIMD/src

In the home directory make the directory and change directory as

$ mkdir -p PIMD/src/pimd-2.4.0
$ cd PIMD/src/pimd-2.4.0

Then download the source code by typing

$ wget https://ccse.jaea.go.jp/software/PIMD/download/pimd.2.4.0.tar

unntar it

$ tar xvf pimd.2.4.0.tar

and create a directory to compile the program

$ mkdir compile

All the source files are copied from the source directory as

$ cd compile

and

$ cp ../source/* .

In the compile directory, modify "makefile" as follows:

  • Compiler
    FCMP = mpiifort
  • Compiler options
    OPTS   =  -O2 -g -traceback \
              -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVX \
              -static-intel -qopenmp \
              -I ${MKLROOT}/include/fftw -w
  • Flag for QE
    QE = -Dqe
  • Compiler options for QE (should be consistent with QE, which will be compiled later)
    LIBQE = -L../lib/qe/q-e-qe-6.2.1/qelib -lqe -L.
    and
    LIBMKL = -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 \
             -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core

Then generate modules necessary to compile the patched version of QE

$ make common_variables.o

Then go to the library directro

$ cd ../lib/qe

and download the QE source code:

$ wget https://github.com/QEF/q-e/archive/qe-6.2.1.zip

Unzip and apply the patch as

$ unzip qe-6.2.1.zip
$ patch -p0 < qe-6.2.1_to_pimdlib.patch

Then buld QE (actually library, not pw.x) as follows:

  • Configuration Execute the following
    MPIF90=mpiifort DFLAGS='-D__OPENMP -D__FFTW3 -D__MPI -D__SCALAPACK' SCALAPACK_LIBS='-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64' ./configure --enable-openmp
    and modify FFLAGS in ``make.inc`` as:
    FFLAGS         = -O2 -assume byterecl -g -traceback -qopenmp -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVX
    and
    FFLAGS_NOMAIN   = -nofor_main -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVX
    and add the following to IFLAGS
    -I$(MKLROOT)/include/fftw -I../../../compile
    with the last path, we don't need to copy "common_variables.mod" from PIMD.
  • Build
    $ make pw

Finally we build PIMD by simply executing the followings:

$ cd ../../../compile
$ make

PIMD + QE + AENET

Here how to build PIMD with QE and AENET, a software for constructing atomic interaction potential based on artifitial neural networks. See the link page as above.

Let's build AENET as follows: First go to the library directory

$ cd lib/aenet

and download the tar ball

$ wget http://ann.atomistic.net/files/aenet-2.0.3.tar.bz2

and untar it

$ tar jxvf aenet-2.0.3.tar.bz2

Go to the source directory

$ cd aenet-2.0.3

and apply the patch as

$ patch -u -p1 -d src < ../src.patch

Then we first compile the L-BFGS library. Go to the lib/ directory

$ cd lib

Change the compiler as appropriate (I use ifort in this case)

FC = ifort -c

Change the compiler option as well, for e.g.,

FCFLAGS = -O2 -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVX

and build

$ make

Then go to the source directory

$ cd ../src

modify "makefiles/Makefile.ifort_intelmpi": I add the following options to FCFLAGS fofr the smith cluster:

-O2 -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVX

and make

$ make -f makefiles/Makefile.ifort_intelmpi lib

Then go to the compile/ directory

$ cd ../../../compile

and edit makefile. Activate aenet by

AENET = -Daenet

and set the path to the library as

LIBAENET    = -I../lib/aenet/aenet-2.0.3/src \
              ../lib/aenet/aenet-2.0.3/src/libaenet.a \
              ../lib/aenet/aenet-2.0.3/lib/liblbfgsb.a

and make:

$ make

If PIMD+QE is already created do the following:

$ make clean; make
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-01-23 (月) 11:56:56 (471d)