X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1e9b128777d8a3bda4b3f43fe1ab7c98880c74f6..2bd3626f72eba11ecb79ecb4536a84734739526c:/teshsuite/smpi/mpich3-test/coll/CMakeLists.txt diff --git a/teshsuite/smpi/mpich3-test/coll/CMakeLists.txt b/teshsuite/smpi/mpich3-test/coll/CMakeLists.txt index 5a82de547a..ed0b323d78 100644 --- a/teshsuite/smpi/mpich3-test/coll/CMakeLists.txt +++ b/teshsuite/smpi/mpich3-test/coll/CMakeLists.txt @@ -25,7 +25,7 @@ if(enable_smpi AND enable_smpi_MPICH3_testsuite) add_executable(allred5 allred5.c) add_executable(allred6 allred6.c) if(HAVE_PRIVATIZATION) - add_executable(allred allred.c) + add_executable(allred allred.c) else() add_executable(allred allred_manual.c) endif() @@ -80,7 +80,7 @@ if(enable_smpi AND enable_smpi_MPICH3_testsuite) # add_executable(opband opband.c) # add_executable(opbor opbor.c) # add_executable(opbxor opbxor.c) -# add_executable(op_commutative op_commutative.c) + add_executable(op_commutative op_commutative.c) # add_executable(opland opland.c) # add_executable(oplor oplor.c) # add_executable(oplxor oplxor.c) @@ -172,7 +172,7 @@ if(enable_smpi AND enable_smpi_MPICH3_testsuite) # target_link_libraries(opband simgrid mtest_c) # target_link_libraries(opbor simgrid mtest_c) # target_link_libraries(opbxor simgrid mtest_c) -# target_link_libraries(op_commutative simgrid mtest_c) + target_link_libraries(op_commutative simgrid mtest_c) # target_link_libraries(opland simgrid mtest_c) # target_link_libraries(oplor simgrid mtest_c) # target_link_libraries(oplxor simgrid mtest_c) @@ -205,30 +205,41 @@ if(enable_smpi AND enable_smpi_MPICH3_testsuite) set_target_properties(bcast_min_datatypes PROPERTIES COMPILE_FLAGS "-DBCAST_MIN_DATATYPES_ONLY" LINK_FLAGS "-DBCAST_MIN_DATATYPES_ONLY") set_target_properties(bcast_comm_world PROPERTIES COMPILE_FLAGS "-DBCAST_COMM_WORLD_ONLY" LINK_FLAGS "-DBCAST_COMM_WORLD_ONLY") - if(HAVE_THREAD_CONTEXTS) - ADD_TEST(test-smpi-mpich3-coll-thread ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION}) - SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-thread PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") - else() - if(HAVE_RAW_CONTEXTS) - ADD_TEST(test-smpi-mpich3-coll-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION}) - SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") + # These tests take 5 to 15 seconds to run, so we don't want to run them several times. + # But at the same time, we'd like to check if they work for all factories and all privatization algorithm + # Thus the current matrix + + MACRO(ADD_MPICH3_COLL SELECTOR FACTORY PRIVATIZATION) + set(NAME "test-smpi-mpich3-coll-${SELECTOR}") + set(ARGS "-execarg=--cfg=smpi/coll-selector:${SELECTOR}" ${ARGN}) + if(NOT "${PRIVATIZATION}" STREQUAL "" AND HAVE_PRIVATIZATION) + set(NAME "${NAME}-${PRIVATIZATION}") + set(ARGS ${ARGS} "-execarg=--cfg=smpi/privatization:${PRIVATIZATION}") endif() - endif() - if(HAVE_UCONTEXT_CONTEXTS) - ADD_TEST(test-smpi-mpich3-coll-ompi-ucontext ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:ucontext -execarg=--cfg=smpi/coll_selector:ompi -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION} -execarg=--cfg=smpi/bcast:binomial_tree) - SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-ompi-ucontext PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") - else() - if(HAVE_RAW_CONTEXTS) - ADD_TEST(test-smpi-mpich3-coll-ompi-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/coll_selector:ompi -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION} -execarg=--cfg=smpi/bcast:binomial_tree) - SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-ompi-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") + string(TOUPPER "HAVE_${FACTORY}_CONTEXTS" HAVE_FACTORY) + if(NOT "${FACTORY}" STREQUAL "" AND ${HAVE_FACTORY}) + set(NAME "${NAME}-${FACTORY}") + set(ARGS ${ARGS} "-execarg=--cfg=contexts/factory:${FACTORY}") endif() - endif() - if(HAVE_RAW_CONTEXTS) - ADD_TEST(test-smpi-mpich3-coll-mpich-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/coll_selector:mpich -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION}) - ADD_TEST(test-smpi-mpich3-coll-mvapich2-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/coll_selector:mvapich2 -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION}) - ADD_TEST(test-smpi-mpich3-coll-impi-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/coll_selector:impi -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION}) - SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-mpich-raw test-smpi-mpich3-coll-mpich-raw test-smpi-mpich3-coll-mvapich2-raw test-smpi-mpich3-coll-impi-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") - endif() + ADD_TEST(${NAME} ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist ${ARGS}) + SET_TESTS_PROPERTIES(${NAME} PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") + ENDMACRO() + + # Test default selector; default factory; default privatization + ADD_MPICH3_COLL(default "" "") + + # Test OMPI selector: thread factory, dlopen privatization + ADD_MPICH3_COLL(ompi "thread" "dlopen" -execarg=--cfg=smpi/bcast:binomial_tree) + + # Test MPICH selector: boost factory, dlopen privatization + ADD_MPICH3_COLL(mpich "boost" "dlopen") + + # Test MVAPICH2 selector: ucontext factory, mmap privatization + ADD_MPICH3_COLL(mvapich2 "ucontext" "mmap") + + # Test IMPI selector: raw factory, mmap privatization + ADD_MPICH3_COLL(impi "raw" "mmap") + endif() set(examples_src ${examples_src}