From c05fbb5a45ec191ed703ddc2c896b3a98620539e Mon Sep 17 00:00:00 2001 From: Alexandre l'Heritier Date: Mon, 18 Nov 2024 11:59:19 +0100 Subject: [PATCH 1/4] [alien,tests] Add a different output directory for each tests --- alien/ArcaneInterface/cmake/LoadAlienTest.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/alien/ArcaneInterface/cmake/LoadAlienTest.cmake b/alien/ArcaneInterface/cmake/LoadAlienTest.cmake index 11a117f54..4842428b8 100644 --- a/alien/ArcaneInterface/cmake/LoadAlienTest.cmake +++ b/alien/ArcaneInterface/cmake/LoadAlienTest.cmake @@ -65,9 +65,12 @@ macro(alien_test) ${ARGS_OPTIONS} ) else () + set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}) + file(MAKE_DIRECTORY ${OUTDIR}) add_test( NAME alien.${ARGS_BENCH}.${ARGS_NAME} COMMAND ${ARGS_COMMAND} + -A,OutputDirectory=${OUTDIR} ${ARGS_OPTIONS} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY} ) @@ -105,9 +108,12 @@ macro(alien_test) ${ARGS_OPTIONS} ) else () + set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi}) + file(MAKE_DIRECTORY ${OUTDIR}) add_test( NAME alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi} COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${mpi} ${MPIEXEC_PREFLAGS}$ ${MPIEXEC_POSTFLAGS} + -A,OutputDirectory=${OUTDIR} ${ARGS_OPTIONS} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY} ) From c3d0d5cc6dc7d39a703393062ba650762884a84b Mon Sep 17 00:00:00 2001 From: Alexandre l'Heritier Date: Mon, 18 Nov 2024 13:23:41 +0100 Subject: [PATCH 2/4] [alien,tests] Add an argument in alien_test macro to use unique output directory --- .../ArcaneInterface/cmake/LoadAlienTest.cmake | 22 +++++++++++-------- .../test/AlienBench/CMakeLists.txt | 15 +++++++++++++ 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/alien/ArcaneInterface/cmake/LoadAlienTest.cmake b/alien/ArcaneInterface/cmake/LoadAlienTest.cmake index 4842428b8..46c4f8c3b 100644 --- a/alien/ArcaneInterface/cmake/LoadAlienTest.cmake +++ b/alien/ArcaneInterface/cmake/LoadAlienTest.cmake @@ -34,7 +34,7 @@ endmacro() macro(alien_test) - set(options PARALLEL_ONLY) + set(options PARALLEL_ONLY UNIQUE_OUTPUT_DIR) set(oneValueArgs BENCH NAME COMMAND WORKING_DIRECTORY) set(multiValueArgs OPTIONS PROCS) @@ -65,12 +65,14 @@ macro(alien_test) ${ARGS_OPTIONS} ) else () - set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}) - file(MAKE_DIRECTORY ${OUTDIR}) + if(UNIQUE_OUTPUT_DIR) + set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}) + set(PARAM_OUTDIR -A,OutputDirectory=${OUTDIR}) + file(MAKE_DIRECTORY ${OUTDIR}) + endif() add_test( NAME alien.${ARGS_BENCH}.${ARGS_NAME} - COMMAND ${ARGS_COMMAND} - -A,OutputDirectory=${OUTDIR} + COMMAND ${ARGS_COMMAND} ${PARAM_OUTDIR} ${ARGS_OPTIONS} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY} ) @@ -108,12 +110,14 @@ macro(alien_test) ${ARGS_OPTIONS} ) else () - set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi}) - file(MAKE_DIRECTORY ${OUTDIR}) + if(UNIQUE_OUTPUT_DIR) + set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi}) + set(PARAM_OUTDIR -A,OutputDirectory=${OUTDIR}) + file(MAKE_DIRECTORY ${OUTDIR}) + endif () add_test( NAME alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi} - COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${mpi} ${MPIEXEC_PREFLAGS}$ ${MPIEXEC_POSTFLAGS} - -A,OutputDirectory=${OUTDIR} + COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${mpi} ${MPIEXEC_PREFLAGS}$ ${MPIEXEC_POSTFLAGS} ${PARAM_OUTDIR} ${ARGS_OPTIONS} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY} ) diff --git a/alien/ArcaneInterface/test/AlienBench/CMakeLists.txt b/alien/ArcaneInterface/test/AlienBench/CMakeLists.txt index 6ee4f6a2c..5194fb0bb 100644 --- a/alien/ArcaneInterface/test/AlienBench/CMakeLists.txt +++ b/alien/ArcaneInterface/test/AlienBench/CMakeLists.txt @@ -248,6 +248,7 @@ alien_test( PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench-aliensolver.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) if (TARGET petsc) @@ -258,6 +259,7 @@ if (TARGET petsc) PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) alien_test( @@ -266,6 +268,7 @@ if (TARGET petsc) PROCS 4 COMMAND alien_bench.exe OPTIONS AlienBench-4P.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) if(TARGET petsc::spai) @@ -275,6 +278,7 @@ if (TARGET petsc) PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench-petsc-spai.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) alien_test( @@ -283,6 +287,7 @@ if (TARGET petsc) PROCS 4 COMMAND alien_bench.exe OPTIONS AlienBench-petsc-spai-4P.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) endif() @@ -296,6 +301,7 @@ if (TARGET hypre) PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench-hypre.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) alien_test( @@ -304,6 +310,7 @@ if (TARGET hypre) PROCS 2 COMMAND alien_bench.exe OPTIONS AlienBench-hypre-2P.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) if(ALIEN_USE_SYCL) @@ -313,6 +320,7 @@ if(ALIEN_USE_SYCL) PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench-hypreilu.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) alien_test( @@ -321,6 +329,7 @@ if(ALIEN_USE_SYCL) PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench-hyprefsai.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) if(TARGET CUDA::cudart) @@ -330,6 +339,7 @@ if(ALIEN_USE_SYCL) PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench-hypreilu-sycl.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) alien_test( @@ -338,6 +348,7 @@ if(ALIEN_USE_SYCL) PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench-hyprefsai-sycl.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) endif() endif(ALIEN_USE_SYCL) @@ -352,6 +363,7 @@ if (TARGET trilinos) PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench-trilinos.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) alien_test( @@ -360,6 +372,7 @@ if (TARGET trilinos) PROCS 1 COMMAND alien_bench.exe OPTIONS AlienBench-trilinosmuelu.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) alien_test( @@ -368,6 +381,7 @@ if (TARGET trilinos) PROCS 2 COMMAND alien_bench.exe OPTIONS AlienBench-trilinos-2P.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) alien_test( @@ -376,5 +390,6 @@ if (TARGET trilinos) PROCS 4 COMMAND alien_bench.exe OPTIONS AlienBench-trilinosmuelu-4P.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienBench) endif () From 9f5ebdbf44a03dac3bcec9833b1711a8f023e6ae Mon Sep 17 00:00:00 2001 From: Alexandre l'Heritier Date: Mon, 18 Nov 2024 14:19:44 +0100 Subject: [PATCH 3/4] [alien,tests] Add forgotten ARGS_ prefix --- .../ArcaneInterface/cmake/LoadAlienTest.cmake | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/alien/ArcaneInterface/cmake/LoadAlienTest.cmake b/alien/ArcaneInterface/cmake/LoadAlienTest.cmake index 46c4f8c3b..719a54eb0 100644 --- a/alien/ArcaneInterface/cmake/LoadAlienTest.cmake +++ b/alien/ArcaneInterface/cmake/LoadAlienTest.cmake @@ -65,14 +65,16 @@ macro(alien_test) ${ARGS_OPTIONS} ) else () - if(UNIQUE_OUTPUT_DIR) - set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}) - set(PARAM_OUTDIR -A,OutputDirectory=${OUTDIR}) - file(MAKE_DIRECTORY ${OUTDIR}) + if(ARGS_UNIQUE_OUTPUT_DIR) + set(ALIEN_TEST_OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}) + set(ALIEN_TEST_PARAM_OUTDIR -A,OutputDirectory=${ALIEN_TEST_OUTDIR}) + file(MAKE_DIRECTORY ${ALIEN_TEST_OUTDIR}) + else () + set(ALIEN_TEST_PARAM_OUTDIR "") endif() add_test( NAME alien.${ARGS_BENCH}.${ARGS_NAME} - COMMAND ${ARGS_COMMAND} ${PARAM_OUTDIR} + COMMAND ${ARGS_COMMAND} ${ALIEN_TEST_PARAM_OUTDIR} ${ARGS_OPTIONS} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY} ) @@ -110,14 +112,16 @@ macro(alien_test) ${ARGS_OPTIONS} ) else () - if(UNIQUE_OUTPUT_DIR) - set(OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi}) - set(PARAM_OUTDIR -A,OutputDirectory=${OUTDIR}) - file(MAKE_DIRECTORY ${OUTDIR}) + if(ARGS_UNIQUE_OUTPUT_DIR) + set(ALIEN_TEST_OUTDIR ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY}/alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi}) + set(ALIEN_TEST_PARAM_OUTDIR -A,OutputDirectory=${ALIEN_TEST_OUTDIR}) + file(MAKE_DIRECTORY ${ALIEN_TEST_OUTDIR}) + else () + set(ALIEN_TEST_PARAM_OUTDIR "") endif () add_test( NAME alien.${ARGS_BENCH}.${ARGS_NAME}.mpi-${mpi} - COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${mpi} ${MPIEXEC_PREFLAGS}$ ${MPIEXEC_POSTFLAGS} ${PARAM_OUTDIR} + COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${mpi} ${MPIEXEC_PREFLAGS}$ ${MPIEXEC_POSTFLAGS} ${ALIEN_TEST_PARAM_OUTDIR} ${ARGS_OPTIONS} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${ARGS_WORKING_DIRECTORY} ) From 8368c3f6bbd7cd8c50359ceac926b9a131c57db2 Mon Sep 17 00:00:00 2001 From: Alexandre l'Heritier Date: Thu, 21 Nov 2024 15:05:25 +0100 Subject: [PATCH 4/4] [alien,tests] Add more UNIQUE_OUTPUT_DIR --- alien/ArcaneInterface/test/AlienTest/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/alien/ArcaneInterface/test/AlienTest/CMakeLists.txt b/alien/ArcaneInterface/test/AlienTest/CMakeLists.txt index 34e1537be..5b6942a01 100644 --- a/alien/ArcaneInterface/test/AlienTest/CMakeLists.txt +++ b/alien/ArcaneInterface/test/AlienTest/CMakeLists.txt @@ -100,6 +100,7 @@ if (TARGET petsc) PROCS 4 COMMAND alien_arcane_test.exe OPTIONS AlienTest.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienTest) alien_test( @@ -108,6 +109,7 @@ if (TARGET petsc) PROCS 4 COMMAND alien_arcane_test.exe OPTIONS AlienTest-FBS.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienTest) alien_test( @@ -116,6 +118,7 @@ if (TARGET petsc) PROCS 4 COMMAND alien_arcane_test.exe OPTIONS AlienTest-VBS.arc + UNIQUE_OUTPUT_DIR WORKING_DIRECTORY ${ALIEN_ARCANE_INTERFACE_DIR}/test/AlienTest) endif ()