Skip to content

Commit

Permalink
Ifpack2: Add BTDS tests to exercise large blocks
Browse files Browse the repository at this point in the history
Use max block size of 32 and a small grid. Test
standard BTD, BTD with Schur line splitting, and Block Jacobi.

Signed-off-by: Brian Kelley <[email protected]>
  • Loading branch information
brian-kelley committed Feb 6, 2025
1 parent 2c95a81 commit 0e724f4
Showing 1 changed file with 33 additions and 1 deletion.
34 changes: 33 additions & 1 deletion packages/ifpack2/example/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,38 @@ ASSERT_DEFINED (
${PACKAGE_NAME}_ENABLE_Galeri
)

IF(${PACKAGE_NAME}_ENABLE_Xpetra AND ${PACKAGE_NAME}_ENABLE_Galeri)
# Correctness test with maximum block size (32)
# Use a small grid so that GPU memory requirement isn't too large
# Block TriDi
TRIBITS_ADD_TEST(
BlockTriDiagonalSolver
NAME BlockTriDiLargeBlock
ARGS "--matrixType=Laplace3D --blockSize=32 --nx=20 --ny=20 --nz=20"
COMM serial mpi
NUM_MPI_PROCS 1-4
STANDARD_PASS_OUTPUT
)
# Block TriDi with Schur line splitting
TRIBITS_ADD_TEST(
BlockTriDiagonalSolver
NAME BlockTriDiLargeBlockSchur
ARGS "--matrixType=Laplace3D --blockSize=32 --nx=20 --ny=20 --nz=20 --sublinesPerLine=1 --sublinesPerLineSchur=2"
COMM serial mpi
NUM_MPI_PROCS 1-4
STANDARD_PASS_OUTPUT
)
# Block Jacobi
TRIBITS_ADD_TEST(
BlockTriDiagonalSolver
NAME BlockTriDiLargeBlockJacobi
ARGS "--matrixType=Laplace3D --blockSize=32 --nx=20 --ny=20 --nz=20 --sublinesPerLine=-1"
COMM serial mpi
NUM_MPI_PROCS 1-4
STANDARD_PASS_OUTPUT
)
ENDIF()

IF(${PACKAGE_NAME}_ENABLE_Xpetra AND ${PACKAGE_NAME}_ENABLE_Galeri)

set(blockSize 11)
Expand Down Expand Up @@ -87,4 +119,4 @@ IF(${PACKAGE_NAME}_ENABLE_Xpetra AND ${PACKAGE_NAME}_ENABLE_Galeri)
ENDWHILE()
ENDIF()
endforeach()
ENDIF()
ENDIF()

0 comments on commit 0e724f4

Please sign in to comment.