Skip to content

Commit

Permalink
Merge pull request #5333 from prckent/scripts
Browse files Browse the repository at this point in the history
Update nightly test configurations with numpy2
  • Loading branch information
ye-luo authored Feb 21, 2025
2 parents 333fe5e + fe0f4f6 commit 42acf7c
Show file tree
Hide file tree
Showing 4 changed files with 154 additions and 211 deletions.
105 changes: 30 additions & 75 deletions tests/test_automation/nightly_test_scripts/nightly_ornl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -84,14 +84,14 @@ case "$ourhostname" in
;;
nitrogen2 )
if [[ $jobtype == "nightly" ]]; then
buildsys="gccnewnompi gccnewnompi_complex gccnewnompi_debug gccnewnompi_complex_debug gccnewnompi_mixed_debug gccnewnompi_mixed_complex_debug gccnewmpi clangnewmpi \
buildsys="amdclangnompi_offloadhip_complex gccnewnompi gccnewnompi_aocl gccnewnompi_complex gccnewnompi_debug gccnewnompi_complex_debug gccnewnompi_mixed_debug gccnewnompi_mixed_complex_debug gccnewnompi_aocl_mixed_complex_debug gccnewmpi gccnewmpi_aocl clangnewmpi \
amdclangnompi amdclangnompi_debug \
amdclangnompi_offloadhip amdclangnompi_offloadhip_debug \
amdclangnompi_offloadhip_complex amdclangnompi_offloadhip_complex_debug \
amdclangnompi_offloadhip_complex_debug \
amdclangnompi_offloadhip_mixed amdclangnompi_offloadhip_mixed_debug \
amdclangnompi_offloadhip_mixed_complex amdclangnompi_offloadhip_mixed_complex_debug"
else
buildsys="gccnewmpi amdclangnompi gccnewnompi clangnewmpi amdclangnompi_offloadhip"
buildsys="gccnewmpi gccnewmpi_aocl amdclangnompi gccnewnompi gccnewnompi_aocl clangnewmpi amdclangnompi_offloadhip"
fi
export QMC_DATA=/scratch/${USER}/QMC_DATA_FULL # Route to directory containing performance test files
export amdgpuarch=`/usr/bin/rocminfo | awk '/gfx/ {print $2; exit 0;}'`
Expand All @@ -114,15 +114,21 @@ esac
case "$jobtype" in
weekly )
export PARALLELCFG="-j 48"
export QMC_OPTIONS="-DQMC_PERFORMANCE_NIO_MAX_ATOMS=256;-DQMC_PERFORMANCE_C_MOLECULE_MAX_ATOMS=64;-DQMC_PERFORMANCE_C_GRAPHITE_MAX_ATOMS=64"
export QMC_OPTIONS="-DQMC_PERFORMANCE_NIO_MAX_ATOMS=256;-DQMC_PERFORMANCE_C_GRAPHITE_MAX_ATOMS=64"
if [[ $sys == *"complex"* ]]; then
export QMC_OPTIONS="${QMC_OPTIONS};-DQMC_PERFORMANCE_C_MOLECULE_MAX_ATOMS=64"
fi
export LIMITEDTESTS="--exclude-regex long-"
export LESSLIMITEDTESTS=""
;;
nightly )
export PARALLELCFG="-j 48"
export QMC_OPTIONS="-DQMC_PERFORMANCE_NIO_MAX_ATOMS=16;-DQMC_PERFORMANCE_C_MOLECULE_MAX_ATOMS=12;-DQMC_PERFORMANCE_C_GRAPHITE_MAX_ATOMS=16"
# export LIMITEDTESTS="--exclude-regex 'short-|long-|example'"
export LIMITEDTESTS="--label-regex deterministic"
export QMC_OPTIONS="-DQMC_PERFORMANCE_NIO_MAX_ATOMS=16;-DQMC_PERFORMANCE_C_GRAPHITE_MAX_ATOMS=16"
if [[ $sys == *"complex"* ]]; then
export QMC_OPTIONS="${QMC_OPTIONS};-DQMC_PERFORMANCE_C_MOLECULE_MAX_ATOMS=12"
fi
export LIMITEDTESTS="--label-regex deterministic"
# export LIMITEDTESTS="--exclude-regex 'long-|short-'"
export LESSLIMITEDTESTS="--exclude-regex long-"
;;
* )
Expand Down Expand Up @@ -310,8 +316,9 @@ if [[ $sys == *"nompi"* ]]; then
QMCPACK_TEST_SUBMIT_NAME=GCC${compilerversion}-NoMPI
CMCFG="-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DQMC_MPI=0"
else
QMCPACK_TEST_SUBMIT_NAME=GCC${compilerversion}
QMCPACK_TEST_SUBMIT_NAME=GCC${compilerversion}-MPI
CMCFG="-DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DQMC_MPI=1"
export QMC_OPTIONS="${QMC_OPTIONS};-DMPIEXEC_PREFLAGS=--bind-to\;none\;--oversubscribe"
export OMPI_CC=gcc
export OMPI_CXX=g++

Expand All @@ -335,8 +342,9 @@ if [[ $sys == *"clang"* ]]; then
QMCPACK_TEST_SUBMIT_NAME=Clang${compilerversion}-NoMPI
CMCFG="-DCMAKE_C_COMPILER=$clangname -DCMAKE_CXX_COMPILER=$clangname++ -DQMC_MPI=0"
else
QMCPACK_TEST_SUBMIT_NAME=Clang${compilerversion}
QMCPACK_TEST_SUBMIT_NAME=Clang${compilerversion}-MPI
CMCFG="-DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DQMC_MPI=1"
export QMC_OPTIONS="${QMC_OPTIONS};-DMPIEXEC_PREFLAGS=--bind-to\;none\;--oversubscribe"
export OMPI_CC=$clangname
export OMPI_CXX=$clangname++
fi
Expand All @@ -346,15 +354,13 @@ if [[ $sys == *"clang"* ]]; then

# Clang OpenMP offload CUDA builds. Setup here due to clang specific arguments
if [[ $sys == *"offloadcuda"* ]]; then
QMCPACK_TEST_SUBMIT_NAME=${QMCPACK_TEST_SUBMIT_NAME}-Offload-CUDA
QMCPACK_TEST_SUBMIT_NAME=${QMCPACK_TEST_SUBMIT_NAME}-NVGPU
CMCFG="$CMCFG -DCMAKE_CXX_FLAGS=-Wno-unknown-cuda-version"
# QMC_OPTIONS="${QMC_OPTIONS};-DENABLE_OFFLOAD=ON;-DUSE_OBJECT_TARGET=ON;-DENABLE_CUDA=ON;-DCMAKE_CUDA_ARCHITECTURES=70;-DCMAKE_CUDA_HOST_COMPILER=`which gcc`"
QMC_OPTIONS="${QMC_OPTIONS};-DENABLE_OFFLOAD=ON;-DUSE_OBJECT_TARGET=ON;-DENABLE_CUDA=ON;-DCMAKE_CUDA_ARCHITECTURES=70"
QMC_OPTIONS="${QMC_OPTIONS};-DQMC_GPU_ARCHS=sm_70"
fi
if [[ $sys == *"offloadhip"* ]]; then
QMCPACK_TEST_SUBMIT_NAME=${QMCPACK_TEST_SUBMIT_NAME}-Offload-CUDA2HIP
# QMC_OPTIONS="${QMC_OPTIONS};-DENABLE_OFFLOAD=ON;-DENABLE_CUDA=ON;-DQMC_CUDA2HIP=ON;-DOFFLOAD_TARGET=amdgcn-amd-amdhsa;-DOFFLOAD_ARCH=$amdgpuarch"
QMC_OPTIONS="${QMC_OPTIONS};-DENABLE_OFFLOAD=ON;-DENABLE_CUDA=ON;-DQMC_CUDA2HIP=ON;-DCMAKE_HIP_ARCHITECTURES=$amdgpuarch"
QMCPACK_TEST_SUBMIT_NAME=${QMCPACK_TEST_SUBMIT_NAME}-AMDGPU
QMC_OPTIONS="${QMC_OPTIONS};-DQMC_GPU_ARCHS=$amdgpuarch"
fi
fi

Expand Down Expand Up @@ -385,8 +391,8 @@ if [[ $sys == *"nompi"* ]]; then
QMCPACK_TEST_SUBMIT_NAME=Intel20${compilerversion}-NoMPI
CMCFG="-DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DQMC_MPI=0"
else
QMCPACK_TEST_SUBMIT_NAME=Intel20${compilerversion}
CMCFG="-DCMAKE_C_COMPILER=mpiicc -DCMAKE_CXX_COMPILER=mpiicpc -DQMC_MPI=1"
QMCPACK_TEST_SUBMIT_NAME=Intel20${compilerversion}-MPI
CMCFG="-DCMAKE_C_COMPILER=mpiicc -DCMAKE_CXX_COMPILER=mpiicpc -DQMC_MPI=1" # Verify thread binding OK when Intel compiler added back to nightlies
fi
fi

Expand All @@ -406,59 +412,17 @@ if [[ $sys == *"nompi"* ]]; then
QMCPACK_TEST_SUBMIT_NAME=NVHPC${compilerversion}-NoMPI
CMCFG="-DCMAKE_C_COMPILER=nvc -DCMAKE_CXX_COMPILER=nvc++ -DQMC_MPI=0"
else
QMCPACK_TEST_SUBMIT_NAME=NVHPC${compilerversion}
QMCPACK_TEST_SUBMIT_NAME=NVHPC${compilerversion}-MPI
CMCFG="-DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DQMC_MPI=1"
export QMC_OPTIONS="${QMC_OPTIONS};-DMPIEXEC_PREFLAGS=--bind-to\;none\;--oversubscribe"
export OMPI_CC=nvc
export OMPI_CXX=nvc++
fi
fi

# General CUDA setup for offload and legacy cuda builds
# Use system installed CUDA since this will match the driver. May conflict will a different version spack installed cuda
# TODO: Ensure consistent CUDA versions for nvhpc+cuda, spack sourced compilers etc.

# ASSUME CORRECT CUDA VERSION ALREADY ON PATH , e.g. correct CUDA spack module loaded

#if [[ $sys == *"legacycuda"* ]]; then
# if [ -e /usr/local/cuda/bin/nvcc ]; then
# export CUDAVER=`cat /usr/local/cuda/version.json | python3 -c "import sys, json; print(json.load(sys.stdin)['cuda']['version'])"`
# echo --- Found nvcc in /usr/local/cuda , apparent version $CUDAVER . Adding to PATH
# export PATH=/usr/local/cuda/bin:${PATH}
# export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
# else
# echo --- Did not find expected nvcc compiler for CUDA build. Error.
# exit 1
# fi
#else
# if [[ $sys == *"offloadcuda"* ]]; then
# echo --- FORCING CUDA 11.2 FOR OFFLOAD BUILD TO WORKAROUND https://github.com/llvm/llvm-project/issues/54633
# if [ -e /usr/local/cuda-11.2/bin/nvcc ]; then
# export CUDAVER=`cat /usr/local/cuda-11.2/version.json | python3 -c "import sys, json; print(json.load(sys.stdin)['cuda']['version'])"`
# echo --- Found nvcc in /usr/local/cuda-11.2 , apparent version $CUDAVER . Adding to PATH
# export PATH=/usr/local/cuda-11.2/bin:${PATH}
# export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:${LD_LIBRARY_PATH}
# else
# echo --- Did not find expected nvcc compiler for CUDA build. Error.
# exit 1
# fi
# fi
#fi

# Legacy CUDA builds setup
if [[ $sys == *"legacycuda"* ]]; then
# Specify GPUs for testing. Obtain device IDs via "nvidia-smi -L"
#export CUDA_VISIBLE_DEVICES=
QMCPACK_TEST_SUBMIT_NAME=${QMCPACK_TEST_SUBMIT_NAME}-Legacy-CUDA
CMCFG="$CMCFG -DQMC_CUDA=1"
fi

# Legacy CUDA2HIP builds setup
# TODO: Ensure consistent CUDA versions for nvhpc+cuda, spack sourced compilers etc.
if [[ $sys == *"legacycu2hip"* ]]; then
export ROCM_PATH=/opt/rocm
export PATH=${PATH}:${ROCM_PATH}/bin:${ROCM_PATH}/opencl/bin
QMCPACK_TEST_SUBMIT_NAME=${QMCPACK_TEST_SUBMIT_NAME}-Legacy-CUDA2HIP
QMC_OPTIONS="${QMC_OPTIONS};-DQMC_CUDA=ON;-DQMC_CUDA2HIP=ON;-DCMAKE_HIP_ARCHITECTURES=${amdgpuarch}"
if [[ $sys == *"aocl"* ]]; then
QMCPACK_TEST_SUBMIT_NAME=${QMCPACK_TEST_SUBMIT_NAME}-AOCL
export QMC_OPTIONS="${QMC_OPTIONS};-DBLA_VENDOR=AOCL"
fi

# MKL
Expand Down Expand Up @@ -511,22 +475,13 @@ case "$sys" in
THETESTS=${LESSLIMITEDTESTS}
;;
esac
#case "$sys" in
# *intel2020*|*gccnew*|*clangnew*|*gcc*legacycuda*|*gcc*cu2hip*|amdclang*) echo "Running full ("less limited") test set for $sys"
# THETESTS=${LESSLIMITEDTESTS}
# ;;
# *) echo "Running limited test set for $sys"
# THETESTS=${LIMITEDTESTS}
# ;;
#esac
#THETESTS=$LIMITEDTESTS # for DEBUG. Remove for production.
echo THETESTS: ${THETESTS}

if [[ $sys == *"debug"* ]]; then
if [[ $jobtype == *"nightly"* ]]; then
export TESTCFG="--timeout 3600 -VV"
else
export TESTCFG="--timeout 7200 -VV"
export TESTCFG="--timeout 10800 -VV"
fi
export QMCPACK_TEST_SUBMIT_NAME=${QMCPACK_TEST_SUBMIT_NAME}-Debug
CMCFG="-DCMAKE_BUILD_TYPE=Debug $CMCFG"
Expand All @@ -535,7 +490,7 @@ else
if [[ $jobtype == *"nightly"* ]]; then
export TESTCFG="--timeout 900 -VV"
else
export TESTCFG="--timeout 7200 -VV"
export TESTCFG="--timeout 10800 -VV"
fi
export QMCPACK_TEST_SUBMIT_NAME=${QMCPACK_TEST_SUBMIT_NAME}-Release
ctestscriptarg=release
Expand Down
20 changes: 5 additions & 15 deletions tests/test_automation/nightly_test_scripts/ornl_setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -182,22 +182,12 @@ cd $HOME/apps/spack

# For reproducibility, use a specific version of Spack
# Prefer to use tagged releases https://github.com/spack/spack/releases

git checkout 75b03bc12ffbabdfac0775ead5442c3f102f94c7
#commit 75b03bc12ffbabdfac0775ead5442c3f102f94c7 (HEAD -> develop, origin/develop, origin/HEAD)
#Author: Adam J. Stewart <ajstewart426@gmail.com>
#Date: Sun Nov 24 20:55:18 2024 +0100
#
# glib: add v2.82.2 (#47766)

#git checkout dfab174f3100840c889e8bb939260b64d93d8dbd
#commit dfab174f3100840c889e8bb939260b64d93d8dbd (HEAD -> develop, origin/develop, origin/HEAD)
#Author: Stephen Nicholas Swatman <stephen@v25.nl>
#Date: Mon Nov 18 14:04:52 2024 +0100
git checkout 75c3d0a053c9705e1c1f88a94c47ffd36f4be1dd
#commit 75c3d0a053c9705e1c1f88a94c47ffd36f4be1dd (HEAD -> develop, origin/develop, origin/HEAD)
#Author: Lehman Garrison <lgarrison@flatironinstitute.org>
#Date: Wed Feb 19 10:14:35 2025 -0500
#
# benchmark: add version 1.9.0 (#47658)
#
# This commit adds Google Benchmark v1.9.0.
# py-yt: add 4.4.0 and dependencies (#47571)

echo --- Git version and last log entry
git log -1
Expand Down
Loading

0 comments on commit 42acf7c

Please sign in to comment.