Skip to content

Commit

Permalink
Added a cmake flag QUDA_IMPROVED_STAGGERED_EIGENSOLVER_CTEST to toggl…
Browse files Browse the repository at this point in the history
…e running eigensolver dslash tests on the improved staggered operator, which are expensive
  • Loading branch information
weinbe2 committed Jan 4, 2024
1 parent 6b0ba62 commit 4e533fe
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
8 changes: 7 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,8 @@ option(QUDA_CLOVER_DYNAMIC "Dynamically invert the clover term" ON)
option(QUDA_CLOVER_RECONSTRUCT "set to ON to enable compressed clover storage (requires QUDA_CLOVER_DYNAMIC)" ON)
option(QUDA_CLOVER_CHOLESKY_PROMOTE "Whether to promote the internal precision when inverting the clover term" ON)

option(QUDA_IMPROVED_STAGGERED_EIGENSOLVER_CTEST "Whether to run eigensolver ctests against the improved staggered operator (requires QUDA_DIRAC_STAGGERED)" OFF)

# Set CTest options
option(QUDA_CTEST_SEP_DSLASH_POLICIES "Test Dslash policies separately in ctest instead of only autotuning them." OFF)
option(QUDA_CTEST_DISABLE_BENCHMARKS "Disable benchmark test" ON)
Expand Down Expand Up @@ -391,7 +393,11 @@ set(CMAKE_EXE_LINKER_FLAGS_SANITIZE
CACHE STRING "Flags used by the linker during sanitizer debug builds.")

if(QUDA_CLOVER_RECONSTRUCT AND NOT QUDA_CLOVER_DYNAMIC)
message(SEND_ERROR "QUDA_CLOVER_RECONSTRUCT requires QUDA_CLOVER_DYNAMIC)")
message(SEND_ERROR "QUDA_CLOVER_RECONSTRUCT requires QUDA_CLOVER_DYNAMIC")
endif()

if (QUDA_IMPROVED_STAGGERED_EIGENSOLVER_CTEST AND NOT QUDA_DIRAC_STAGGERED)
message(SEND_ERROR "QUDA_IMPROVED_STAGGERED_EIGENSOLVER_CTEST requires QUDA_DIRAC_STAGGERED")
endif()

find_package(Threads REQUIRED)
Expand Down
19 changes: 10 additions & 9 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1402,15 +1402,16 @@ foreach(prec IN LISTS TEST_PRECS)
--enable-testing true
--gtest_output=xml:staggered_eigensolve_test_staggered_${prec}.xml)

# Skipping this because it's both time consuming and doesn't have any novel spectral
# properties relative to unimproved staggered
#add_test(NAME eigensolve_test_asqtad_${prec}
# COMMAND ${QUDA_CTEST_LAUNCH} $<TARGET_FILE:staggered_eigensolve_test> ${MPIEXEC_POSTFLAGS}
# --dslash-type asqtad --compute-fat-long true
# --eig-n-conv 32 --eig-n-ev 32 --eig-n-kr 256
# --dim 6 6 6 8 --prec ${prec} --eig-tol ${tol} --eig-max-restarts 1000
# --enable-testing true
# --gtest_output=xml:staggered_eigensolve_test_staggered_${prec}.xml)
# These tests are particularly expensive so they are disabled by default
if(QUDA_IMPROVED_STAGGERED_EIGENSOLVER_CTEST)
add_test(NAME eigensolve_test_asqtad_${prec}
COMMAND ${QUDA_CTEST_LAUNCH} $<TARGET_FILE:staggered_eigensolve_test> ${MPIEXEC_POSTFLAGS}
--dslash-type asqtad --compute-fat-long true
--eig-n-conv 32 --eig-n-ev 32 --eig-n-kr 256
--dim 6 6 6 8 --prec ${prec} --eig-tol ${tol} --eig-max-restarts 1000
--enable-testing true
--gtest_output=xml:staggered_eigensolve_test_staggered_${prec}.xml)
endif()

if (QUDA_LAPLACE)
add_test(NAME eigensolve_test_laplace_${prec}
Expand Down

0 comments on commit 4e533fe

Please sign in to comment.