https://www.quantum-espresso.org/
(6.7 まで独立していたコードがメインブランチにマージされています)
6.8
--- install/extlibs_makefile.org 2021-12-15 12:32:45.000000000 +0900
+++ install/extlibs_makefile 2021-12-15 12:33:50.000000000 +0900
@@ -106,6 +106,7 @@
--with-cuda-runtime=$(CUDA_RUNTIME) \
--disable-parallel \
--enable-cuda-env-check=no; \
+ sed -i -e "s/cc60/cc60,cc70/" make.inc include/configure.h install/make_lapack.inc; \
make all
touch ../install/libcuda_devxlib # do not download and configure again
#!/bin/sh
VERSION=6.8
FULLVER=${VERSION}
BASEDIR=/home/users/${USER}/Software/QE/${VERSION}
INSTDIR=/local/apl/lx/espresso68-gpu# nvhpc openmpi awares cuda, but not tm (PBS)...
WORKDIR=/work/users/${USER}
OMPIVER=3.1.6
OMPITARBALL=/home/users/${USER}/Software/OpenMPI/${OMPIVER}/openmpi-${OMPIVER}.tar.bz2
OMPIROOT=${INSTDIR}/openmpi-${OMPIVER}
PBSROOT=/local/apl/lx/pbs14PARALLEL=12
#export CUDA_HOME=/local/apl/lx/nvhpc-21.9/Linux_x86_64/21.9/cuda
export CUDA_HOME=/local/apl/lx/cuda-10.1 # dummy# -----------------------------------------------------------------------
umask 0022module purge
#module load nvhpc/21.9-nompi
module load pgi/20.4
module load mkl/2020.0.2export LANG=C
export LC_ALL=Culimit -s unlimited
# build openmpi first
cd ${WORKDIR}
if [ -d openmpi-${OMPIVER} ]; then
mv openmpi-${OMPIVER} openmpi-erase
rm -rf openmpi-erase &
fitar jxf ${OMPITARBALL}
cd openmpi-${OMPIVER}export CFLAGS="-fPIC"
export FCFLAGS="-fPIC"
export CXXFLAGS="-fPIC"
export LDFLAGS="-fPIC"mkdir rccs && cd rccs
CC=pgcc CXX=pgc++ FC=pgf90 \
../configure --prefix=${OMPIROOT} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--with-cuda=${CUDA_HOME} \
--with-psm2
make -j ${PARALLEL} && make install && make check
#!/bin/sh
VERSION=6.8
FULLVER=${VERSION}
BASEDIR=/home/users/${USER}/Software/QE/${VERSION}
TARBALL=${BASEDIR}/q-e-qe-${FULLVER}.tar.gz
INSTDIR=/local/apl/lx/espresso68-gpuPATCH0=${BASEDIR}/patch_extlibs_makefile
# nvhpc openmpi awares cuda, but not tm (PBS)...
OMPIVER=3.1.6
OMPIROOT=${INSTDIR}/openmpi-${OMPIVER}PARALLEL=12
#export CUDA_HOME=/local/apl/lx/nvhpc-21.9/Linux_x86_64/21.9/cuda
export CUDA_HOME=/local/apl/lx/cuda-10.1 # dummy# -----------------------------------------------------------------------
umask 0022module purge
#module load nvhpc/21.9-nompi
module load pgi/20.4
module load mkl/2020.0.2export LANG=C
export LC_ALL=Culimit -s unlimited
# openmpi setting
export OMPI_MCA_btl_openib_allow_ib=1
export CPATH="${OMPIROOT}/include:${CPATH}"
export LIBRARY_PATH="${OMPIROOT}/lib:${LIBRARY_PATH}"
export LD_LIBRARY_PATH="${OMPIROOT}/lib:${LD_LIBRARY_PATH}"
export PATH="${OMPIROOT}/bin:${PATH}"# qe build
cd ${INSTDIR}
if [ -d q-e-qe-${FULLVER} ]; then
mv q-e-qe-${FULLVER} q-e-qe-erase
rm -rf q-e-qe-erase &
fitar zxf ${TARBALL}
cd q-e-qe-${FULLVER}
mv * .[a-zA-Z]* ../
cd ../ && rmdir q-e-qe-${FULLVER}export MPIF90=mpif90
patch -p0 < ${PATCH0}
# complicated...
sed -i -e 's/cc$(GPU_ARCH)/cc60,cc70/' install/Makefile.lib_eigsolve./configure --enable-openmp \
--enable-openacc \
--with-scalapack=no \
--with-cuda=${CUDA_HOME} \
--with-cuda-cc=60 \
--with-cuda-runtime=10.1# force to add curand to library list
sed -i -e "s/cusolver/cusolver,curand/" make.inc
# add cc70 (is it really ok?)
sed -i -e "s/cc60/cc60,cc70/" \
make.inc \
install/make_lapack.inc \
install/make_wannier90.inc \
include/configure.hmake -j${PARALLEL} all # neb may fail...
cd test-suite
make run-tests-serial
make clean
make run-tests-parallel
cd ..