Here how to compile PIMD version 2.3.0 with the Quantum-ESPRESSO on the smith cluster system is described.
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.3.0 $ cd PIMD/src/pimd-2.3.0
Then download the source code by typing
$ wget https://ccse.jaea.go.jp/software/PIMD/download/pimd.2.3.0.tar
unntar it
$ tar xvf pimd.2.3.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
FFLAGS_NOMAIN = -nofor_main -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVX
$ cp ../source/* .
In the compile directory, modify "makeifle" 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
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 modified personally by myself (see attached)
$ unzip qe-6.2.1.zip $ patch -p0 < qe-6.2.1_to_pimdlib_new.patch
Then buld QE (actually library, not pw.x) as follows:
MPIF90=mpiifort DFLAGS='-D__OPENMP -D__FFTW3 -D__MPI -D__SCALAPACK' FFT_LIBS=-lfftw3 SCALAPACK_LIBS='-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64' ./configure --enable-openmpand modify the make.inc as follows:
FFLAGS = -O2 -assume byterecl -g -traceback -qopenmp -xSSE4.2 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVX
$ make pw
Finally we build PIMD by simply executing the followings:
$ cd ../../../compile $ make