From d6cc0734da95df48853226b0b66ed25cd1c262c3 Mon Sep 17 00:00:00 2001 From: degomme Date: Wed, 20 Jan 2016 16:49:04 +0100 Subject: [PATCH] Add a test for smpi+different kinds of clusters (torus/fat_tree/flat/two clusters) --- examples/msg/ns3/Two_clusters-d.xml | 6 +- examples/msg/ns3/ns3.tesh | 2 +- examples/platforms/clusters_routing_full.xml | 8 +- examples/platforms/fat_tree_cluster.xml | 2 +- examples/platforms/torus_cluster.xml | 2 +- teshsuite/simdag/platforms/flatifier.tesh | 653 ++++++++++--------- teshsuite/smpi/alltoall/CMakeLists.txt | 3 +- teshsuite/smpi/alltoall/clusters.tesh | 162 +++++ teshsuite/smpi/alltoall/hostfile_cluster | 12 + tools/cmake/Tests.cmake | 1 + 10 files changed, 514 insertions(+), 337 deletions(-) create mode 100644 teshsuite/smpi/alltoall/clusters.tesh create mode 100644 teshsuite/smpi/alltoall/hostfile_cluster diff --git a/examples/msg/ns3/Two_clusters-d.xml b/examples/msg/ns3/Two_clusters-d.xml index 3b55cc98be..5132ff15ef 100644 --- a/examples/msg/ns3/Two_clusters-d.xml +++ b/examples/msg/ns3/Two_clusters-d.xml @@ -2,13 +2,13 @@ - + - + - + diff --git a/examples/msg/ns3/ns3.tesh b/examples/msg/ns3/ns3.tesh index 9106849b22..18873a2ba7 100644 --- a/examples/msg/ns3/ns3.tesh +++ b/examples/msg/ns3/ns3.tesh @@ -36,4 +36,4 @@ p Two clusters $ ns3/ns3 ${srcdir:=.}/examples/platforms/clusters_routing_full.xml ${srcdir:=.}/examples/msg/ns3/Two_clusters-d.xml --cfg=network/model:NS3 --log=root.fmt:[%h:%P(%i)]%e[%c/%p]%e%m%n > [:(0)] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'NS3' -> [c-16.me:slave(2)] [msg_test/INFO] FLOW[1] : Receive 100 bytes from c-3.me to c-16.me +> [node16.acme.org:slave(2)] [msg_test/INFO] FLOW[1] : Receive 100 bytes from node3.acme.org to node16.acme.org diff --git a/examples/platforms/clusters_routing_full.xml b/examples/platforms/clusters_routing_full.xml index b7bd013ab9..88b855f5db 100644 --- a/examples/platforms/clusters_routing_full.xml +++ b/examples/platforms/clusters_routing_full.xml @@ -25,18 +25,18 @@ --> - - - + diff --git a/examples/platforms/fat_tree_cluster.xml b/examples/platforms/fat_tree_cluster.xml index d20e7fbef5..71c82547a6 100644 --- a/examples/platforms/fat_tree_cluster.xml +++ b/examples/platforms/fat_tree_cluster.xml @@ -11,7 +11,7 @@ and 2 core switches connected to each leaf switch by two cables - diff --git a/examples/platforms/torus_cluster.xml b/examples/platforms/torus_cluster.xml index 3ec3036248..dc877cbe8f 100644 --- a/examples/platforms/torus_cluster.xml +++ b/examples/platforms/torus_cluster.xml @@ -2,7 +2,7 @@ - diff --git a/teshsuite/simdag/platforms/flatifier.tesh b/teshsuite/simdag/platforms/flatifier.tesh index d4356e874a..67c8874c69 100644 --- a/teshsuite/simdag/platforms/flatifier.tesh +++ b/teshsuite/simdag/platforms/flatifier.tesh @@ -1160,19 +1160,19 @@ $ ${bindir:=.}/flatifier$EXEEXT ${srcdir:=.}/examples/platforms/torus_cluster.xm > > > -> -> -> -> -> -> -> -> -> -> -> -> -> +> +> +> +> +> +> +> +> +> +> +> +> +> > > > @@ -1258,512 +1258,513 @@ $ ${bindir:=.}/flatifier$EXEEXT ${srcdir:=.}/examples/platforms/torus_cluster.xm > > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> -> +> +> > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > -> +> > > > > + diff --git a/teshsuite/smpi/alltoall/CMakeLists.txt b/teshsuite/smpi/alltoall/CMakeLists.txt index 3d457cf195..dfdd5e9d0a 100644 --- a/teshsuite/smpi/alltoall/CMakeLists.txt +++ b/teshsuite/smpi/alltoall/CMakeLists.txt @@ -20,6 +20,7 @@ endif() set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/alltoall_coll.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/clusters.tesh PARENT_SCOPE ) set(xml_files @@ -35,10 +36,10 @@ set(examples_src ) set(bin_files ${bin_files} + ${CMAKE_CURRENT_SOURCE_DIR}/hostfile_cluster PARENT_SCOPE ) set(txt_files ${txt_files} - PARENT_SCOPE ) diff --git a/teshsuite/smpi/alltoall/clusters.tesh b/teshsuite/smpi/alltoall/clusters.tesh new file mode 100644 index 0000000000..968c7ed2ce --- /dev/null +++ b/teshsuite/smpi/alltoall/clusters.tesh @@ -0,0 +1,162 @@ +# Smpi Alltoall on various cluster files, with several routings +! setenv LD_LIBRARY_PATH=../../lib +! output sort + +p Test classic - backbone +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ./hostfile_cluster -platform ../../../examples/platforms/cluster.xml -np 12 --log=xbt_cfg.thres:critical ${bindir:=.}/../alltoall/alltoall_coll -q --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error +> [rank 0] -> node-0.acme.org +> [rank 1] -> node-1.acme.org +> [rank 2] -> node-2.acme.org +> [rank 3] -> node-3.acme.org +> [rank 4] -> node-4.acme.org +> [rank 5] -> node-5.acme.org +> [rank 6] -> node-6.acme.org +> [rank 7] -> node-7.acme.org +> [rank 8] -> node-8.acme.org +> [rank 9] -> node-9.acme.org +> [rank 10] -> node-10.acme.org +> [rank 11] -> node-11.acme.org +> [0] sndbuf=[0 1 2 3 4 5 6 7 8 9 10 11 ] +> [1] sndbuf=[12 13 14 15 16 17 18 19 20 21 22 23 ] +> [2] sndbuf=[24 25 26 27 28 29 30 31 32 33 34 35 ] +> [3] sndbuf=[36 37 38 39 40 41 42 43 44 45 46 47 ] +> [4] sndbuf=[48 49 50 51 52 53 54 55 56 57 58 59 ] +> [5] sndbuf=[60 61 62 63 64 65 66 67 68 69 70 71 ] +> [6] sndbuf=[72 73 74 75 76 77 78 79 80 81 82 83 ] +> [7] sndbuf=[84 85 86 87 88 89 90 91 92 93 94 95 ] +> [8] sndbuf=[96 97 98 99 100 101 102 103 104 105 106 107 ] +> [9] sndbuf=[108 109 110 111 112 113 114 115 116 117 118 119 ] +> [10] sndbuf=[120 121 122 123 124 125 126 127 128 129 130 131 ] +> [11] sndbuf=[132 133 134 135 136 137 138 139 140 141 142 143 ] +> [0] rcvbuf=[0 12 24 36 48 60 72 84 96 108 120 132 ] +> [10] rcvbuf=[10 22 34 46 58 70 82 94 106 118 130 142 ] +> [11] rcvbuf=[11 23 35 47 59 71 83 95 107 119 131 143 ] +> [8] rcvbuf=[8 20 32 44 56 68 80 92 104 116 128 140 ] +> [3] rcvbuf=[3 15 27 39 51 63 75 87 99 111 123 135 ] +> [2] rcvbuf=[2 14 26 38 50 62 74 86 98 110 122 134 ] +> [6] rcvbuf=[6 18 30 42 54 66 78 90 102 114 126 138 ] +> [7] rcvbuf=[7 19 31 43 55 67 79 91 103 115 127 139 ] +> [4] rcvbuf=[4 16 28 40 52 64 76 88 100 112 124 136 ] +> [9] rcvbuf=[9 21 33 45 57 69 81 93 105 117 129 141 ] +> [5] rcvbuf=[5 17 29 41 53 65 77 89 101 113 125 137 ] +> [1] rcvbuf=[1 13 25 37 49 61 73 85 97 109 121 133 ] + +! output sort +p Test separate clusters +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ./hostfile_cluster -platform ../../../examples/platforms/clusters_routing_full.xml -np 12 --log=xbt_cfg.thres:critical ${bindir:=.}/../alltoall/alltoall_coll -q --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error +> [rank 0] -> node-0.acme.org +> [rank 1] -> node-1.acme.org +> [rank 2] -> node-2.acme.org +> [rank 3] -> node-3.acme.org +> [rank 4] -> node-4.acme.org +> [rank 5] -> node-5.acme.org +> [rank 6] -> node-6.acme.org +> [rank 7] -> node-7.acme.org +> [rank 8] -> node-8.acme.org +> [rank 9] -> node-9.acme.org +> [rank 10] -> node-10.acme.org +> [rank 11] -> node-11.acme.org +> [0] sndbuf=[0 1 2 3 4 5 6 7 8 9 10 11 ] +> [1] sndbuf=[12 13 14 15 16 17 18 19 20 21 22 23 ] +> [2] sndbuf=[24 25 26 27 28 29 30 31 32 33 34 35 ] +> [3] sndbuf=[36 37 38 39 40 41 42 43 44 45 46 47 ] +> [4] sndbuf=[48 49 50 51 52 53 54 55 56 57 58 59 ] +> [5] sndbuf=[60 61 62 63 64 65 66 67 68 69 70 71 ] +> [6] sndbuf=[72 73 74 75 76 77 78 79 80 81 82 83 ] +> [7] sndbuf=[84 85 86 87 88 89 90 91 92 93 94 95 ] +> [8] sndbuf=[96 97 98 99 100 101 102 103 104 105 106 107 ] +> [9] sndbuf=[108 109 110 111 112 113 114 115 116 117 118 119 ] +> [10] sndbuf=[120 121 122 123 124 125 126 127 128 129 130 131 ] +> [11] sndbuf=[132 133 134 135 136 137 138 139 140 141 142 143 ] +> [0] rcvbuf=[0 12 24 36 48 60 72 84 96 108 120 132 ] +> [10] rcvbuf=[10 22 34 46 58 70 82 94 106 118 130 142 ] +> [11] rcvbuf=[11 23 35 47 59 71 83 95 107 119 131 143 ] +> [8] rcvbuf=[8 20 32 44 56 68 80 92 104 116 128 140 ] +> [3] rcvbuf=[3 15 27 39 51 63 75 87 99 111 123 135 ] +> [2] rcvbuf=[2 14 26 38 50 62 74 86 98 110 122 134 ] +> [6] rcvbuf=[6 18 30 42 54 66 78 90 102 114 126 138 ] +> [7] rcvbuf=[7 19 31 43 55 67 79 91 103 115 127 139 ] +> [4] rcvbuf=[4 16 28 40 52 64 76 88 100 112 124 136 ] +> [9] rcvbuf=[9 21 33 45 57 69 81 93 105 117 129 141 ] +> [5] rcvbuf=[5 17 29 41 53 65 77 89 101 113 125 137 ] +> [1] rcvbuf=[1 13 25 37 49 61 73 85 97 109 121 133 ] + +! output sort +p Test torus +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ./hostfile_cluster -platform ../../../examples/platforms/torus_cluster.xml -np 12 --log=xbt_cfg.thres:critical ${bindir:=.}/../alltoall/alltoall_coll -q --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error +> [rank 0] -> node-0.acme.org +> [rank 1] -> node-1.acme.org +> [rank 2] -> node-2.acme.org +> [rank 3] -> node-3.acme.org +> [rank 4] -> node-4.acme.org +> [rank 5] -> node-5.acme.org +> [rank 6] -> node-6.acme.org +> [rank 7] -> node-7.acme.org +> [rank 8] -> node-8.acme.org +> [rank 9] -> node-9.acme.org +> [rank 10] -> node-10.acme.org +> [rank 11] -> node-11.acme.org +> [0] sndbuf=[0 1 2 3 4 5 6 7 8 9 10 11 ] +> [1] sndbuf=[12 13 14 15 16 17 18 19 20 21 22 23 ] +> [2] sndbuf=[24 25 26 27 28 29 30 31 32 33 34 35 ] +> [3] sndbuf=[36 37 38 39 40 41 42 43 44 45 46 47 ] +> [4] sndbuf=[48 49 50 51 52 53 54 55 56 57 58 59 ] +> [5] sndbuf=[60 61 62 63 64 65 66 67 68 69 70 71 ] +> [6] sndbuf=[72 73 74 75 76 77 78 79 80 81 82 83 ] +> [7] sndbuf=[84 85 86 87 88 89 90 91 92 93 94 95 ] +> [8] sndbuf=[96 97 98 99 100 101 102 103 104 105 106 107 ] +> [9] sndbuf=[108 109 110 111 112 113 114 115 116 117 118 119 ] +> [10] sndbuf=[120 121 122 123 124 125 126 127 128 129 130 131 ] +> [11] sndbuf=[132 133 134 135 136 137 138 139 140 141 142 143 ] +> [0] rcvbuf=[0 12 24 36 48 60 72 84 96 108 120 132 ] +> [10] rcvbuf=[10 22 34 46 58 70 82 94 106 118 130 142 ] +> [11] rcvbuf=[11 23 35 47 59 71 83 95 107 119 131 143 ] +> [8] rcvbuf=[8 20 32 44 56 68 80 92 104 116 128 140 ] +> [3] rcvbuf=[3 15 27 39 51 63 75 87 99 111 123 135 ] +> [2] rcvbuf=[2 14 26 38 50 62 74 86 98 110 122 134 ] +> [6] rcvbuf=[6 18 30 42 54 66 78 90 102 114 126 138 ] +> [7] rcvbuf=[7 19 31 43 55 67 79 91 103 115 127 139 ] +> [4] rcvbuf=[4 16 28 40 52 64 76 88 100 112 124 136 ] +> [9] rcvbuf=[9 21 33 45 57 69 81 93 105 117 129 141 ] +> [5] rcvbuf=[5 17 29 41 53 65 77 89 101 113 125 137 ] +> [1] rcvbuf=[1 13 25 37 49 61 73 85 97 109 121 133 ] + +! output sort +p Test fat tree +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ./hostfile_cluster -platform ../../../examples/platforms/fat_tree_cluster.xml -np 12 --log=xbt_cfg.thres:critical ${bindir:=.}/../alltoall/alltoall_coll -q --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error +> [rank 0] -> node-0.acme.org +> [rank 1] -> node-1.acme.org +> [rank 2] -> node-2.acme.org +> [rank 3] -> node-3.acme.org +> [rank 4] -> node-4.acme.org +> [rank 5] -> node-5.acme.org +> [rank 6] -> node-6.acme.org +> [rank 7] -> node-7.acme.org +> [rank 8] -> node-8.acme.org +> [rank 9] -> node-9.acme.org +> [rank 10] -> node-10.acme.org +> [rank 11] -> node-11.acme.org +> [0] sndbuf=[0 1 2 3 4 5 6 7 8 9 10 11 ] +> [1] sndbuf=[12 13 14 15 16 17 18 19 20 21 22 23 ] +> [2] sndbuf=[24 25 26 27 28 29 30 31 32 33 34 35 ] +> [3] sndbuf=[36 37 38 39 40 41 42 43 44 45 46 47 ] +> [4] sndbuf=[48 49 50 51 52 53 54 55 56 57 58 59 ] +> [5] sndbuf=[60 61 62 63 64 65 66 67 68 69 70 71 ] +> [6] sndbuf=[72 73 74 75 76 77 78 79 80 81 82 83 ] +> [7] sndbuf=[84 85 86 87 88 89 90 91 92 93 94 95 ] +> [8] sndbuf=[96 97 98 99 100 101 102 103 104 105 106 107 ] +> [9] sndbuf=[108 109 110 111 112 113 114 115 116 117 118 119 ] +> [10] sndbuf=[120 121 122 123 124 125 126 127 128 129 130 131 ] +> [11] sndbuf=[132 133 134 135 136 137 138 139 140 141 142 143 ] +> [0] rcvbuf=[0 12 24 36 48 60 72 84 96 108 120 132 ] +> [10] rcvbuf=[10 22 34 46 58 70 82 94 106 118 130 142 ] +> [11] rcvbuf=[11 23 35 47 59 71 83 95 107 119 131 143 ] +> [8] rcvbuf=[8 20 32 44 56 68 80 92 104 116 128 140 ] +> [3] rcvbuf=[3 15 27 39 51 63 75 87 99 111 123 135 ] +> [2] rcvbuf=[2 14 26 38 50 62 74 86 98 110 122 134 ] +> [6] rcvbuf=[6 18 30 42 54 66 78 90 102 114 126 138 ] +> [7] rcvbuf=[7 19 31 43 55 67 79 91 103 115 127 139 ] +> [4] rcvbuf=[4 16 28 40 52 64 76 88 100 112 124 136 ] +> [9] rcvbuf=[9 21 33 45 57 69 81 93 105 117 129 141 ] +> [5] rcvbuf=[5 17 29 41 53 65 77 89 101 113 125 137 ] +> [1] rcvbuf=[1 13 25 37 49 61 73 85 97 109 121 133 ] diff --git a/teshsuite/smpi/alltoall/hostfile_cluster b/teshsuite/smpi/alltoall/hostfile_cluster new file mode 100644 index 0000000000..31db2a70c5 --- /dev/null +++ b/teshsuite/smpi/alltoall/hostfile_cluster @@ -0,0 +1,12 @@ +node-0.acme.org +node-1.acme.org +node-2.acme.org +node-3.acme.org +node-4.acme.org +node-5.acme.org +node-6.acme.org +node-7.acme.org +node-8.acme.org +node-9.acme.org +node-10.acme.org +node-11.acme.org diff --git a/tools/cmake/Tests.cmake b/tools/cmake/Tests.cmake index 06f9ef5e46..949b761ce0 100644 --- a/tools/cmake/Tests.cmake +++ b/tools/cmake/Tests.cmake @@ -417,6 +417,7 @@ IF(NOT enable_memcheck) FOREACH (BARRIER_COLL default ompi mpich ompi_basic_linear ompi_tree ompi_bruck ompi_recursivedoubling ompi_doublering mvapich2_pair mvapich2 impi) ADD_TESH(tesh-smpi-barrier-coll-${BARRIER_COLL} --cfg smpi/barrier:${BARRIER_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/barrier --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/barrier barrier_coll.tesh) ENDFOREACH() + ADD_TESH(tesh-smpi-clusters-types --cfg smpi/alltoall:mvapich2 --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/alltoall --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/alltoall clusters.tesh) # END TESH TESTS IF(enable_smpi_MPICH3_testsuite) 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 -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}) -- 2.20.1