add_executable(allgather2 allgather2.c)
add_executable(allgather3 allgather3.c)
+ add_executable(allgather_struct allgather_struct.c)
add_executable(allgatherv2 allgatherv2.c)
add_executable(allgatherv3 allgatherv3.c)
if(HAVE_PRIVATIZATION)
add_executable(allred4 allred4.c)
add_executable(allred5 allred5.c)
add_executable(allred6 allred6.c)
+ if(HAVE_PRIVATIZATION)
add_executable(allred allred.c)
+ else()
+ add_executable(allred allred_manual.c)
+ endif()
add_executable(allredmany allredmany.c)
add_executable(alltoall1 alltoall1.c)
add_executable(alltoallv0 alltoallv0.c)
# add_executable(alltoallw1 alltoallw1.c)
# add_executable(alltoallw2 alltoallw2.c)
# add_executable(alltoallw_zeros alltoallw_zeros.c)
- add_executable(bcast2 bcast2.c)
- add_executable(bcast3 bcast3.c)
+ add_executable(bcast_full bcast.c)
+ add_executable(bcast_min_datatypes bcast.c)
+ add_executable(bcast_comm_world bcast.c)
add_executable(bcasttest bcasttest.c)
add_executable(bcastzerotype bcastzerotype.c)
add_executable(coll10 coll10.c)
add_executable(exscan2 exscan2.c)
add_executable(exscan exscan.c)
add_executable(gather2 gather2.c)
-# add_executable(gather2_save gather2_save.c)
+ add_executable(gather_big gather_big.c)
add_executable(gather gather.c)
# add_executable(iallred iallred.c)
# add_executable(ibarrier ibarrier.c)
add_executable(longuser longuser.c)
# add_executable(nonblocking2 nonblocking2.c)
# add_executable(nonblocking3 nonblocking3.c)
-# add_executable(nonblocking4 nonblocking4.c)
# add_executable(nonblocking nonblocking.c)
# add_executable(opband opband.c)
# add_executable(opbor opbor.c)
target_link_libraries(allgather2 simgrid mtest_c)
target_link_libraries(allgather3 simgrid mtest_c)
+ target_link_libraries(allgather_struct simgrid mtest_c)
target_link_libraries(allgatherv2 simgrid mtest_c)
target_link_libraries(allgatherv3 simgrid mtest_c)
target_link_libraries(allgatherv4 simgrid mtest_c)
# target_link_libraries(alltoallw1 simgrid mtest_c)
# target_link_libraries(alltoallw2 simgrid mtest_c)
# target_link_libraries(alltoallw_zeros simgrid mtest_c)
- target_link_libraries(bcast2 simgrid mtest_c)
- target_link_libraries(bcast3 simgrid mtest_c)
+ target_link_libraries(bcast_full simgrid mtest_c)
+ target_link_libraries(bcast_min_datatypes simgrid mtest_c)
+ target_link_libraries(bcast_comm_world simgrid mtest_c)
target_link_libraries(bcasttest simgrid mtest_c)
target_link_libraries(bcastzerotype simgrid mtest_c)
target_link_libraries(coll10 simgrid mtest_c)
target_link_libraries(exscan2 simgrid mtest_c)
target_link_libraries(exscan simgrid mtest_c)
target_link_libraries(gather2 simgrid mtest_c)
-# target_link_libraries(gather2_save simgrid mtest_c)
+ target_link_libraries(gather_big simgrid mtest_c)
target_link_libraries(gather simgrid mtest_c)
# target_link_libraries(iallred simgrid mtest_c)
# target_link_libraries(ibarrier simgrid mtest_c)
target_link_libraries(longuser simgrid mtest_c)
# target_link_libraries(nonblocking2 simgrid mtest_c)
# target_link_libraries(nonblocking3 simgrid mtest_c)
-# target_link_libraries(nonblocking4 simgrid mtest_c)
# target_link_libraries(nonblocking simgrid mtest_c)
# target_link_libraries(opband simgrid mtest_c)
# target_link_libraries(opbor simgrid mtest_c)
# target_link_libraries(uoplong simgrid mtest_c)
set_target_properties(allred PROPERTIES COMPILE_FLAGS "-O0" LINK_FLAGS "-O0")
+ 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")
+
+ # 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
+ # Test default selector: THREAD if available; RAW if not (with mmap privatization or none)
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})
+ 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/privatization:${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})
+ 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/privatization:${HAVE_PRIVATIZATION})
SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
endif()
+
+ # Test OMPI selector: CONTEXT if available; RAW if not (with mmap privatization or none)
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)
+ 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/privatization:${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)
+ 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/privatization:${HAVE_PRIVATIZATION} -execarg=--cfg=smpi/bcast:binomial_tree)
SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-ompi-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
endif()
+
+ # Test MPICH selector: dlopen privatization and PTHREAD if exists (without priv and with raw if not)
+ if(HAVE_PRIVATIZATION AND HAVE_THREAD_CONTEXTS)
+ ADD_TEST(test-smpi-mpich3-coll-mpich-thread-dlopen ${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/coll_selector:mpich -execarg=--cfg=smpi/privatization:dlopen)
+ SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-mpich-thread-dlopen PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+ else()
+ 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/privatization:${HAVE_PRIVATIZATION})
+ SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-mpich-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+ endif()
+ endif()
+
+ # Test MVAPICH2 selector: dlopen privatization and UCONTEXT if exists (without priv and with raw if not)
+ if(HAVE_PRIVATIZATION AND HAVE_UCONTEXT_CONTEXTS)
+ ADD_TEST(test-smpi-mpich3-coll-mvapich2-ucontext-dlopen ${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:mvapich2 -execarg=--cfg=smpi/privatization:dlopen)
+ SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-mvapich2-ucontext-dlopen PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+ else()
+ if(HAVE_RAW_CONTEXTS)
+ 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/privatization:${HAVE_PRIVATIZATION})
+ SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-mvapich2-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+ endif()
+ endif()
+
+ # Test IMPI selector: always raw, with dlopen if priv exists
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!")
+ if(HAVE_PRIVATIZATION)
+ ADD_TEST(test-smpi-mpich3-coll-impi-raw-dlopen ${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/privatization:dlopen)
+ SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-impi-raw-dlopen PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+ else()
+ ADD_TEST(test-smpi-mpich3-coll-impi-raw-nopriv ${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/privatization:no)
+ SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-impi-raw-nopriv PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+ endif()
endif()
endif()
set(examples_src ${examples_src}
${CMAKE_CURRENT_SOURCE_DIR}/allgather2.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/allgather_struct.c
${CMAKE_CURRENT_SOURCE_DIR}/allgather3.c
${CMAKE_CURRENT_SOURCE_DIR}/allgatherv2.c
${CMAKE_CURRENT_SOURCE_DIR}/allgatherv3.c
${CMAKE_CURRENT_SOURCE_DIR}/allred5.c
${CMAKE_CURRENT_SOURCE_DIR}/allred6.c
${CMAKE_CURRENT_SOURCE_DIR}/allred.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/allred_manual.c
${CMAKE_CURRENT_SOURCE_DIR}/allredmany.c
${CMAKE_CURRENT_SOURCE_DIR}/alltoall1.c
${CMAKE_CURRENT_SOURCE_DIR}/alltoallv0.c
${CMAKE_CURRENT_SOURCE_DIR}/alltoallw1.c
${CMAKE_CURRENT_SOURCE_DIR}/alltoallw2.c
${CMAKE_CURRENT_SOURCE_DIR}/alltoallw_zeros.c
- ${CMAKE_CURRENT_SOURCE_DIR}/bcast2.c
- ${CMAKE_CURRENT_SOURCE_DIR}/bcast3.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/bcast.c
${CMAKE_CURRENT_SOURCE_DIR}/bcasttest.c
${CMAKE_CURRENT_SOURCE_DIR}/bcastzerotype.c
${CMAKE_CURRENT_SOURCE_DIR}/coll10.c
${CMAKE_CURRENT_SOURCE_DIR}/exscan2.c
${CMAKE_CURRENT_SOURCE_DIR}/exscan.c
${CMAKE_CURRENT_SOURCE_DIR}/gather2.c
- ${CMAKE_CURRENT_SOURCE_DIR}/gather2_save.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/gather_big.c
${CMAKE_CURRENT_SOURCE_DIR}/gather.c
${CMAKE_CURRENT_SOURCE_DIR}/iallred.c
${CMAKE_CURRENT_SOURCE_DIR}/ibarrier.c
${CMAKE_CURRENT_SOURCE_DIR}/nonblocking2.c
${CMAKE_CURRENT_SOURCE_DIR}/nonblocking3.c
${CMAKE_CURRENT_SOURCE_DIR}/nonblocking.c
- ${CMAKE_CURRENT_SOURCE_DIR}/nonblocking4.c
${CMAKE_CURRENT_SOURCE_DIR}/opband.c
${CMAKE_CURRENT_SOURCE_DIR}/opbor.c
${CMAKE_CURRENT_SOURCE_DIR}/opbxor.c