mirror of https://github.com/QMCPACK/qmcpack.git
86 lines
2.3 KiB
Bash
Executable File
86 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -x
|
|
HOST_NAME=$(hostname -s)
|
|
|
|
case "$1" in
|
|
|
|
# Configure qmcpack using cmake out-of-source builds
|
|
configure)
|
|
|
|
echo "Use recent CMake v3.26.3"
|
|
export PATH=$HOME/opt/cmake/3.26.3/bin:$PATH
|
|
# Make current environment variables available to subsequent steps, ctest
|
|
echo "PATH=$PATH" >> $GITHUB_ENV
|
|
|
|
QMC_DATA_DIR=/scratch/ci/QMC_DATA_FULL
|
|
|
|
if [ -d ${GITHUB_WORKSPACE}/../qmcpack-build-1 ]
|
|
then
|
|
echo "Found existing out-of-source build directory ${GITHUB_WORKSPACE}/../qmcpack-build-1, removing"
|
|
rm -fr ${GITHUB_WORKSPACE}/../qmcpack-build-1
|
|
fi
|
|
|
|
echo "Creating new out-of-source build directory ${GITHUB_WORKSPACE}/../qmcpack-build-1"
|
|
cd ${GITHUB_WORKSPACE}/.. && mkdir qmcpack-build-1 && cd qmcpack-build-1
|
|
|
|
# Build variants
|
|
# Real or Complex configuration
|
|
case "${GH_JOBNAME}" in
|
|
*"Real"*)
|
|
echo 'Configure for real build -DQMC_COMPLEX=0'
|
|
IS_COMPLEX=0
|
|
;;
|
|
*"Complex"*)
|
|
echo 'Configure for complex build -DQMC_COMPLEX=1'
|
|
IS_COMPLEX=1
|
|
;;
|
|
esac
|
|
|
|
# Mixed or Non-Mixed (default, full) precision, used with GPU code
|
|
case "${GH_JOBNAME}" in
|
|
*"Mixed"*)
|
|
echo 'Configure for mixed precision build -DQMC_MIXED_PRECISION=1'
|
|
IS_MIXED_PRECISION=1
|
|
;;
|
|
*)
|
|
IS_MIXED_PRECISION=0
|
|
;;
|
|
esac
|
|
|
|
case "${GH_JOBNAME}" in
|
|
*"GCC11-MPI-MKL-AFQMC"*)
|
|
echo 'Configure for building with GCC and Intel MKL'
|
|
|
|
source /opt/intel/oneapi/setvars.sh
|
|
|
|
cmake -GNinja \
|
|
-DCMAKE_C_COMPILER=/usr/lib64/openmpi/bin/mpicc \
|
|
-DCMAKE_CXX_COMPILER=/usr/lib64/openmpi/bin/mpicxx \
|
|
-DMPIEXEC_EXECUTABLE=/usr/lib64/openmpi/bin/mpirun \
|
|
-DBLA_VENDOR=Intel10_64lp \
|
|
-DBUILD_AFQMC=ON \
|
|
-DQMC_COMPLEX=$IS_COMPLEX \
|
|
-DQMC_MIXED_PRECISION=$IS_MIXED_PRECISION \
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
-DQMC_DATA=$QMC_DATA_DIR \
|
|
${GITHUB_WORKSPACE}
|
|
|
|
;;
|
|
esac
|
|
;;
|
|
|
|
build)
|
|
cd ${GITHUB_WORKSPACE}/../qmcpack-build-1
|
|
ninja
|
|
;;
|
|
|
|
test)
|
|
source /opt/intel/oneapi/setvars.sh
|
|
echo "Running deterministic tests"
|
|
cd ${GITHUB_WORKSPACE}/../qmcpack-build-1
|
|
ctest --output-on-failure -L deterministic -j 32
|
|
;;
|
|
|
|
esac
|