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:
FCMP = mpiifort
OPTS = -O3 -g -traceback \ -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVX \ -static-intel -qopenmp \ -I ${MKLROOT}/include/fftw -w
QE = -Dqe
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:
MPIF90=mpiifort DFLAGS='-D__OPENMP -D__FFTW3 -D__MPI -D__SCALAPACK' SCALAPACK_LIBS='-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64' ./configure --enable-openmpand modify FFLAGS in ``make.inc`` as:
FFLAGS = -O2 -assume byterecl -g -traceback -qopenmp -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVXand
FFLAGS_NOMAIN = -nofor_main -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVXand add the following to IFLAGS
-I$(MKLROOT)/include/fftw -I../../../compilewith the last path, we don't need to copy "common_variables.mod" from PIMD.
$ make pw
Finally we build PIMD by simply executing the followings:
$ cd ../../../compile $ make
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 xvf aenet-2.0.3.tar.bz2
if it doesn't work try
$ bzip2 -dc aenet-2.0.3.tar.bz2 | tar xvf -
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
and change the compiler as appropriate (I use ifort in this case)
FC = ifort -c
and build
$ make
Then go to the source directory
$ cd ../src
modify the make file in "makefiles/" I use "Makefile.ifort_intelmpi" as
$ 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