X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/07f07c110338b034abedccf6fdb2d0dcbf6c7f3e..18449bfffced07ec0a49297f1eb76c4fe6792895:/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 a7e5d0b34c..cb7d90f118 100644 --- a/teshsuite/smpi/mpich3-test/coll/CMakeLists.txt +++ b/teshsuite/smpi/mpich3-test/coll/CMakeLists.txt @@ -1,5 +1,3 @@ -cmake_minimum_required(VERSION 2.6) - if(enable_smpi AND enable_smpi_MPICH3_testsuite) if(WIN32) set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h") @@ -8,213 +6,114 @@ if(enable_smpi AND enable_smpi_MPICH3_testsuite) set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff") endif() - set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}") - include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi") + include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/") + + foreach(test allgather2 allgather3 allgather_struct + allgatherv2 allgatherv3 + allred2 allred3 allred4 allred5 allred6 allredmany + alltoall1 alltoallv0 alltoallv + # alltoallw1 alltoallw2 alltoallw_zeros + bcasttest bcastzerotype + coll2 coll3 coll4 coll5 coll6 coll7 coll8 coll9 coll10 coll11 coll12 coll13 + exscan exscan2 + gather gather2 gather_big + ibarrier + # iallred icallgather icallgatherv icallreduce + # icalltoall icalltoallv icalltoallw icbarrier icbcast + # icgather icgatherv icreduce icscatter icscatterv + longuser + # nonblocking2 nonblocking3 nonblocking + # opband opbor opbxor opland oplor oplxor opmax opmaxloc + # opmin opminloc opprod opsum + op_commutative + red3 red4 redscat2 redscat3 redscatbkinter redscatblk3 + redscat red_scat_block red_scat_block2 + # redscatinter + reduce_local + scantst scatter2 scatter3 scattern scatterv + # uoplong + ) + add_executable(${test} EXCLUDE_FROM_ALL ${test}.c) + add_dependencies(tests ${test}) + target_link_libraries(${test} simgrid mtest_c) + endforeach() - add_executable(allgather2 allgather2.c) - add_executable(allgather3 allgather3.c) - add_executable(allgatherv2 allgatherv2.c) - add_executable(allgatherv3 allgatherv3.c) - add_executable(allgatherv4 allgatherv4.c) - add_executable(allred2 allred2.c) - add_executable(allred3 allred3.c) - add_executable(allred4 allred4.c) - add_executable(allred5 allred5.c) - add_executable(allred6 allred6.c) -# add_executable(allred allred.c) - add_executable(allredmany allredmany.c) - add_executable(alltoall1 alltoall1.c) - add_executable(alltoallv0 alltoallv0.c) - add_executable(alltoallv alltoallv.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(bcasttest bcasttest.c) - add_executable(bcastzerotype bcastzerotype.c) - add_executable(coll10 coll10.c) - add_executable(coll11 coll11.c) - add_executable(coll12 coll12.c) - add_executable(coll13 coll13.c) - add_executable(coll2 coll2.c) - add_executable(coll3 coll3.c) - add_executable(coll4 coll4.c) - add_executable(coll5 coll5.c) - add_executable(coll6 coll6.c) - add_executable(coll7 coll7.c) - add_executable(coll8 coll8.c) - add_executable(coll9 coll9.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 gather.c) - add_executable(iallred iallred.c) - add_executable(ibarrier ibarrier.c) -# add_executable(icallgather icallgather.c) -# add_executable(icallgatherv icallgatherv.c) -# add_executable(icallreduce icallreduce.c) -# add_executable(icalltoall icalltoall.c) -# add_executable(icalltoallv icalltoallv.c) -# add_executable(icalltoallw icalltoallw.c) -# add_executable(icbarrier icbarrier.c) -# add_executable(icbcast icbcast.c) -# add_executable(icgather icgather.c) -# add_executable(icgatherv icgatherv.c) -# add_executable(icreduce icreduce.c) -# add_executable(icscatter icscatter.c) -# add_executable(icscatterv icscatterv.c) - add_executable(longuser longuser.c) - add_executable(nonblocking2 nonblocking2.c) - add_executable(nonblocking3 nonblocking3.c) - add_executable(nonblocking nonblocking.c) -# add_executable(opband opband.c) -# add_executable(opbor opbor.c) -# add_executable(opbxor opbxor.c) - add_executable(op_commutative op_commutative.c) -# add_executable(opland opland.c) -# add_executable(oplor oplor.c) -# add_executable(oplxor oplxor.c) -# add_executable(opmax opmax.c) -# add_executable(opmaxloc opmaxloc.c) -# add_executable(opmin opmin.c) -# add_executable(opminloc opminloc.c) -# add_executable(opprod opprod.c) -# add_executable(opsum opsum.c) - add_executable(red3 red3.c) - add_executable(red4 red4.c) - add_executable(redscat2 redscat2.c) - add_executable(redscat3 redscat3.c) - add_executable(redscatbkinter redscatbkinter.c) - add_executable(redscatblk3 redscatblk3.c) - add_executable(red_scat_block2 red_scat_block2.c) - add_executable(red_scat_block red_scat_block.c) - add_executable(redscat redscat.c) -# add_executable(redscatinter redscatinter.c) - add_executable(reduce_mpich reduce.c) - add_executable(reduce_local reduce_local.c) - add_executable(scantst scantst.c) - add_executable(scatter2 scatter2.c) - add_executable(scatter3 scatter3.c) - add_executable(scattern scattern.c) -# add_executable(scatterv scatterv.c) -# add_executable(uoplong uoplong.c) + foreach(test allgatherv4 allred) + if(HAVE_PRIVATIZATION) + add_executable(${test} EXCLUDE_FROM_ALL ${test}.c) + else() + add_executable(${test} EXCLUDE_FROM_ALL ${test}_manual.c) + endif() + add_dependencies(tests ${test}) + target_link_libraries(${test} simgrid mtest_c) + endforeach() + set_target_properties(allred PROPERTIES COMPILE_FLAGS "-O0" LINK_FLAGS "-O0") - target_link_libraries(allgather2 simgrid mtest_c) - target_link_libraries(allgather3 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(allred2 simgrid mtest_c) - target_link_libraries(allred3 simgrid mtest_c) - target_link_libraries(allred4 simgrid mtest_c) - target_link_libraries(allred5 simgrid mtest_c) - target_link_libraries(allred6 simgrid mtest_c) -# target_link_libraries(allred simgrid mtest_c) - target_link_libraries(allredmany simgrid mtest_c) - target_link_libraries(alltoall1 simgrid mtest_c) - target_link_libraries(alltoallv0 simgrid mtest_c) - target_link_libraries(alltoallv 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(bcasttest simgrid mtest_c) - target_link_libraries(bcastzerotype simgrid mtest_c) - target_link_libraries(coll10 simgrid mtest_c) - target_link_libraries(coll11 simgrid mtest_c) - target_link_libraries(coll12 simgrid mtest_c) - target_link_libraries(coll13 simgrid mtest_c) - target_link_libraries(coll2 simgrid mtest_c) - target_link_libraries(coll3 simgrid mtest_c) - target_link_libraries(coll4 simgrid mtest_c) - target_link_libraries(coll5 simgrid mtest_c) - target_link_libraries(coll6 simgrid mtest_c) - target_link_libraries(coll7 simgrid mtest_c) - target_link_libraries(coll8 simgrid mtest_c) - target_link_libraries(coll9 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 simgrid mtest_c) - target_link_libraries(iallred simgrid mtest_c) - target_link_libraries(ibarrier simgrid mtest_c) -# target_link_libraries(icallgather simgrid mtest_c) -# target_link_libraries(icallgatherv simgrid mtest_c) -# target_link_libraries(icallreduce simgrid mtest_c) -# target_link_libraries(icalltoall simgrid mtest_c) -# target_link_libraries(icalltoallv simgrid mtest_c) -# target_link_libraries(icalltoallw simgrid mtest_c) -# target_link_libraries(icbarrier simgrid mtest_c) -# target_link_libraries(icbcast simgrid mtest_c) -# target_link_libraries(icgather simgrid mtest_c) -# target_link_libraries(icgatherv simgrid mtest_c) -# target_link_libraries(icreduce simgrid mtest_c) -# target_link_libraries(icscatter simgrid mtest_c) -# target_link_libraries(icscatterv 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(nonblocking simgrid mtest_c) -# 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(opland simgrid mtest_c) -# target_link_libraries(oplor simgrid mtest_c) -# target_link_libraries(oplxor simgrid mtest_c) -# target_link_libraries(opmax simgrid mtest_c) -# target_link_libraries(opmaxloc simgrid mtest_c) -# target_link_libraries(opmin simgrid mtest_c) -# target_link_libraries(opminloc simgrid mtest_c) -# target_link_libraries(opprod simgrid mtest_c) -# target_link_libraries(opsum simgrid mtest_c) - target_link_libraries(red3 simgrid mtest_c) - target_link_libraries(red4 simgrid mtest_c) - target_link_libraries(redscat2 simgrid mtest_c) - target_link_libraries(redscat3 simgrid mtest_c) - target_link_libraries(redscatbkinter simgrid mtest_c) - target_link_libraries(redscatblk3 simgrid mtest_c) - target_link_libraries(red_scat_block2 simgrid mtest_c) - target_link_libraries(red_scat_block simgrid mtest_c) - target_link_libraries(redscat simgrid mtest_c) -# target_link_libraries(redscatinter simgrid mtest_c) + foreach(test bcast_full bcast_min_datatypes bcast_comm_world) + add_executable(${test} EXCLUDE_FROM_ALL bcast.c) + add_dependencies(tests ${test}) + target_link_libraries(${test} simgrid mtest_c) + endforeach() + 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") + + add_executable(reduce_mpich EXCLUDE_FROM_ALL reduce.c) + add_dependencies(tests reduce_mpich) target_link_libraries(reduce_mpich simgrid mtest_c) - target_link_libraries(reduce_local simgrid mtest_c) - target_link_libraries(scantst simgrid mtest_c) - target_link_libraries(scatter2 simgrid mtest_c) - target_link_libraries(scatter3 simgrid mtest_c) - target_link_libraries(scattern simgrid mtest_c) -# target_link_libraries(scatterv simgrid mtest_c) -# target_link_libraries(uoplong simgrid mtest_c) + + # 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() + 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() + 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 "-wrapper=${TESH_WRAPPER}" -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(tesh_files - ${tesh_files} - PARENT_SCOPE - ) -set(xml_files - ${xml_files} - PARENT_SCOPE - ) -set(examples_src - ${examples_src} +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}/allgatherv4.c + ${CMAKE_CURRENT_SOURCE_DIR}/allgatherv4_manual.c ${CMAKE_CURRENT_SOURCE_DIR}/allred2.c ${CMAKE_CURRENT_SOURCE_DIR}/allred3.c ${CMAKE_CURRENT_SOURCE_DIR}/allred4.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 @@ -222,8 +121,7 @@ set(examples_src ${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 @@ -241,7 +139,7 @@ set(examples_src ${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 @@ -293,14 +191,5 @@ set(examples_src ${CMAKE_CURRENT_SOURCE_DIR}/scattern.c ${CMAKE_CURRENT_SOURCE_DIR}/scatterv.c ${CMAKE_CURRENT_SOURCE_DIR}/uoplong.c - PARENT_SCOPE - ) -set(bin_files - ${bin_files} - PARENT_SCOPE - ) -set(txt_files - ${txt_files} - ${CMAKE_CURRENT_SOURCE_DIR}/testlist - PARENT_SCOPE - ) + PARENT_SCOPE) +set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/testlist PARENT_SCOPE)