From: Frederic Suter Date: Mon, 7 Mar 2016 20:34:16 +0000 (+0100) Subject: simplify alltoall X-Git-Tag: v3_13~492^2~5 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/c717df170bf16141a99ba8de828d6c2d7dbf0d43 simplify alltoall --- diff --git a/.gitignore b/.gitignore index 85c4620fb4..3b0eef8345 100644 --- a/.gitignore +++ b/.gitignore @@ -316,12 +316,7 @@ teshsuite/simix/stack_overflow/stack_overflow teshsuite/smpi/coll-allgather/coll-allgather teshsuite/smpi/coll-allgatherv/coll-allgatherv teshsuite/smpi/coll-allreduce/coll-allreduce -teshsuite/smpi/alltoall2 -teshsuite/smpi/alltoall/alltoall2 -teshsuite/smpi/alltoall/alltoall_basic -teshsuite/smpi/alltoall/alltoall_coll -teshsuite/smpi/alltoall_basic -teshsuite/smpi/alltoall_coll +teshsuite/smpi/coll-alltoall/coll-alltoall teshsuite/smpi/coll-alltoallv/coll-alltoallv teshsuite/smpi/coll-bcast/coll-bcast teshsuite/smpi/coll-barrier/coll-barrier diff --git a/teshsuite/smpi/CMakeLists.txt b/teshsuite/smpi/CMakeLists.txt index 7a72474311..1e37e2b064 100644 --- a/teshsuite/smpi/CMakeLists.txt +++ b/teshsuite/smpi/CMakeLists.txt @@ -6,8 +6,8 @@ if(enable_smpi) endif() include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") - foreach(x coll-allgather coll-allgatherv coll-allreduce coll-alltoallv coll-barrier coll-bcast coll-gather coll-scatter - pt2pt-dsend pt2pt-pingpong type-hvector type-indexed type-struct type-vector) + foreach(x coll-allgather coll-allgatherv coll-allreduce coll-alltoall coll-alltoallv coll-barrier coll-bcast + coll-gather coll-scatter pt2pt-dsend pt2pt-pingpong type-hvector type-indexed type-struct type-vector) add_executable (${x} ${x}/${x}.c) target_link_libraries(${x} simgrid) set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x}) @@ -32,6 +32,12 @@ if(enable_smpi) ADD_TESH(tesh-smpi-coll-allreduce-${ALLREDUCE_COLL} --cfg smpi/allreduce:${ALLREDUCE_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-allreduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-allreduce coll-allreduce.tesh) endforeach() + foreach (ALLTOALL_COLL 2dmesh 3dmesh pair pair_rma pair_one_barrier pair_light_barrier pair_mpi_barrier rdb ring + ring_light_barrier ring_mpi_barrier ring_one_barrier bruck basic_linear ompi mpich mvapich2 + mvapich2_scatter_dest impi) + ADD_TESH(tesh-smpi-coll-alltoall-${ALLTOALL_COLL} --cfg smpi/alltoall:${ALLTOALL_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-alltoall --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-alltoall coll-alltoall.tesh) + endforeach() + foreach (ALLTOALLV_COLL pair pair_light_barrier pair_mpi_barrier pair_one_barrier ring ring_light_barrier ring_mpi_barrier ring_one_barrier bruck ompi mpich mvapich2 ompi_basic_linear impi) ADD_TESH(tesh-smpi-coll-alltoallv-${ALLTOALLV_COLL} --cfg smpi/alltoallv:${ALLTOALLV_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-alltoallv --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-alltoallv coll-alltoallv.tesh) @@ -61,6 +67,9 @@ endif() ADD_TESH(tesh-smpi-coll-allreduce-large --cfg smpi/allreduce:ompi_ring_segmented --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-allreduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-allreduce coll-allreduce-large.tesh) ADD_TESH(tesh-smpi-coll-allreduce-automatic --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-allreduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-allreduce coll-allreduce-automatic.tesh) +# Extra allreduce test: cluster-types +ADD_TESH(tesh-smpi-cluster-types --cfg smpi/alltoall:mvapich2 --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-alltoall --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-alltoall clusters.tesh) + # Extra pt2pt pingpong test: broken usage ti-tracing ADD_TESH_FACTORIES(tesh-smpi-broken "thread" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/pt2pt-pingpong --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/pt2pt-pingpong broken_hostfiles.tesh) ADD_TESH(tesh-smpi-replay-ti-tracing --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/pt2pt-pingpong --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/pt2pt-pingpong TI_output.tesh) @@ -68,8 +77,10 @@ ADD_TESH(tesh-smpi-replay-ti-tracing --setenv bindir=${CMAKE_BINARY_D set(teshsuite_src ${teshsuite_src} PARENT_SCOPE) set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/coll-allreduce/coll-allreduce-large.tesh ${CMAKE_CURRENT_SOURCE_DIR}/coll-allreduce/coll-allreduce-automatic.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/coll-alltoall/clusters.tesh ${CMAKE_CURRENT_SOURCE_DIR}/pt2pt-pingpong/broken_hostfiles.tesh ${CMAKE_CURRENT_SOURCE_DIR}/pt2pt-pingpong/TI_output.tesh PARENT_SCOPE) set(bin_files ${bin_files} ${CMAKE_CURRENT_SOURCE_DIR}/hostfile + ${CMAKE_CURRENT_SOURCE_DIR}/hostfile_cluster ${CMAKE_CURRENT_SOURCE_DIR}/hostfile_coll ${CMAKE_CURRENT_SOURCE_DIR}/hostfile_empty PARENT_SCOPE) diff --git a/teshsuite/smpi/alltoall/CMakeLists.txt b/teshsuite/smpi/alltoall/CMakeLists.txt deleted file mode 100644 index be01542e47..0000000000 --- a/teshsuite/smpi/alltoall/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -if(enable_smpi) - if(WIN32) - set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h") - else() - set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc") - endif() - include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") - - add_executable (alltoall2 alltoall2.c) - target_link_libraries(alltoall2 simgrid) - add_executable (alltoall_basic alltoall_basic.c) - target_link_libraries(alltoall_basic simgrid) - add_executable (alltoall_coll alltoall_coll.c) - target_link_libraries(alltoall_coll simgrid) -endif() - - -set(tesh_files - ${tesh_files} - ${CMAKE_CURRENT_SOURCE_DIR}/alltoall_coll.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/clusters.tesh - PARENT_SCOPE) -set(examples_src - ${examples_src} - ${CMAKE_CURRENT_SOURCE_DIR}/alltoall_coll.c - ${CMAKE_CURRENT_SOURCE_DIR}/alltoall_basic.c - ${CMAKE_CURRENT_SOURCE_DIR}/alltoall2.c - PARENT_SCOPE) -set(bin_files - ${bin_files} - ${CMAKE_CURRENT_SOURCE_DIR}/hostfile_cluster - PARENT_SCOPE) diff --git a/teshsuite/smpi/alltoall/alltoall2.c b/teshsuite/smpi/alltoall/alltoall2.c deleted file mode 100644 index 885756104c..0000000000 --- a/teshsuite/smpi/alltoall/alltoall2.c +++ /dev/null @@ -1,90 +0,0 @@ -/* Copyright (c) 2012, 2014. The SimGrid Team. - * All rights reserved. */ - -/* This program is free software; you can redistribute it and/or modify it - * under the terms of the license (GNU LGPL) which comes with this package. */ - -/**************************************************************************** - - MESSAGE PASSING INTERFACE TEST CASE SUITE - - Copyright IBM Corp. 1995 - - IBM Corp. hereby grants a non-exclusive license to use, copy, modify, and - distribute this software for any purpose and without fee provided that the - above copyright notice and the following paragraphs appear in all copies. - - IBM Corp. makes no representation that the test cases comprising this - suite are correct or are an accurate representation of any standard. - - In no event shall IBM be liable to any party for direct, indirect, special - incidental, or consequential damage arising out of the use of this software - even if IBM Corp. has been advised of the possibility of such damage. - - IBM CORP. SPECIFICALLY DISCLAIMS ANY WARRANTIES INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS AND IBM - CORP. HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, - ENHANCEMENTS, OR MODIFICATIONS. - -**************************************************************************** - - These test cases reflect an interpretation of the MPI Standard. They are - are, in most cases, unit tests of specific MPI behaviors. If a user of any - test case from this set believes that the MPI Standard requires behavior - different than that implied by the test case we would appreciate feedback. - - Comments may be sent to: - Richard Treumann - treumann@kgn.ibm.com - -**************************************************************************** -*/ -#include -#include -#include -#include -#include "mpi.h" - -#define MAXLEN 10000 - -int main(int argc, char *argv[]) -{ -#define N 1000000 - int *out, *in, i, j, k; - int myself, tasks; - - out = malloc(N * sizeof(int)); - in = malloc(N * sizeof(int)); - if ((out == NULL) || (in == NULL)) { - printf("Error: cannot allocate N bytes for in or out arrays\n"); - exit(1); - } - MPI_Init(&argc, &argv); - MPI_Comm_rank(MPI_COMM_WORLD, &myself); - MPI_Comm_size(MPI_COMM_WORLD, &tasks); - for (j = 1; j <= MAXLEN; j *= 10) { - if (0 == myself) { - printf("* calling MPI_Alltoall with buffers of %d ints\n", j); - } - for (i = 0; i < j * tasks; i++) - out[i] = myself; - - MPI_Alltoall(out, j, MPI_INT, in, j, MPI_INT, MPI_COMM_WORLD); - - for (i = 0; i < tasks; i++) { - for (k = 0; k < j; k++) { - if (in[k + i * j] != i) { - printf("<%d> bad answer (%d) at index %d of %d (should be %d)\n", - myself, in[k + i * j], k + i * j, j * tasks, i); - break; - } - } - } - } - MPI_Barrier(MPI_COMM_WORLD); - if (myself == 0) - printf("TEST COMPLETE\n"); - MPI_Finalize(); - return EXIT_SUCCESS; -} diff --git a/teshsuite/smpi/alltoall/alltoall_basic.c b/teshsuite/smpi/alltoall/alltoall_basic.c deleted file mode 100644 index 9e2a166b9a..0000000000 --- a/teshsuite/smpi/alltoall/alltoall_basic.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (c) 2009-2010, 2012-2014. The SimGrid Team. - * All rights reserved. */ - -/* This program is free software; you can redistribute it and/or modify it - * under the terms of the license (GNU LGPL) which comes with this package. */ - -#include -#include -#include -#include -#include "mpi.h" - -#ifndef EXIT_SUCCESS -#define EXIT_SUCCESS 0 -#define EXIT_FAILURE 1 -#endif - -int main(int argc, char *argv[]) -{ - int rank, size; - int i; - int *sb; - int *rb; - int status; - - MPI_Init(&argc, &argv); - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - MPI_Comm_size(MPI_COMM_WORLD, &size); - - sb = (int *) malloc(size * sizeof(int)); - if (!sb) { - perror("can't allocate send buffer"); - fflush(stderr); - MPI_Abort(MPI_COMM_WORLD, EXIT_FAILURE); - exit(EXIT_FAILURE); - } - rb = (int *) malloc(size * sizeof(int)); - if (!rb) { - perror("can't allocate recv buffer"); - fflush(stderr); - free(sb); - MPI_Abort(MPI_COMM_WORLD, EXIT_FAILURE); - exit(EXIT_FAILURE); - } - for (i = 0; i < size; ++i) { - sb[i] = rank + 1; - rb[i] = 0; - } - - status = MPI_Alltoall(sb, 1, MPI_INT, rb, 1, MPI_INT, MPI_COMM_WORLD); - - printf("[%d] rcvbuf=[", rank); - for (i = 0; i < size; i++) - printf("%d ", rb[i]); - printf("]\n"); - - - if (rank == 0) { - if (status != MPI_SUCCESS) { - printf("all_to_all returned %d\n", status); - fflush(stdout); - } - } - free(sb); - free(rb); - MPI_Finalize(); - return (EXIT_SUCCESS); -} diff --git a/teshsuite/smpi/alltoall/clusters.tesh b/teshsuite/smpi/coll-alltoall/clusters.tesh similarity index 86% rename from teshsuite/smpi/alltoall/clusters.tesh rename to teshsuite/smpi/coll-alltoall/clusters.tesh index 9b4cc22eee..8b474e272c 100644 --- a/teshsuite/smpi/alltoall/clusters.tesh +++ b/teshsuite/smpi/coll-alltoall/clusters.tesh @@ -3,7 +3,7 @@ ! 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 +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_cluster -platform ../../../examples/platforms/cluster.xml -np 12 --log=xbt_cfg.thres:critical ${bindir:=.}/coll-alltoall -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 @@ -43,7 +43,7 @@ $ ${bindir:=.}/../../../bin/smpirun -map -hostfile ./hostfile_cluster -platform ! 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 +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_cluster -platform ../../../examples/platforms/clusters_routing_full.xml -np 12 --log=xbt_cfg.thres:critical ${bindir:=.}/coll-alltoall -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 @@ -83,7 +83,7 @@ $ ${bindir:=.}/../../../bin/smpirun -map -hostfile ./hostfile_cluster -platform ! 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 +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_cluster -platform ../../../examples/platforms/torus_cluster.xml -np 12 --log=xbt_cfg.thres:critical ${bindir:=.}/coll-alltoall -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 @@ -123,7 +123,7 @@ $ ${bindir:=.}/../../../bin/smpirun -map -hostfile ./hostfile_cluster -platform ! 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 +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_cluster -platform ../../../examples/platforms/fat_tree_cluster.xml -np 12 --log=xbt_cfg.thres:critical ${bindir:=.}/coll-alltoall -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 @@ -163,7 +163,7 @@ $ ${bindir:=.}/../../../bin/smpirun -map -hostfile ./hostfile_cluster -platform ! output sort p Test fat tree IB -$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ./hostfile_cluster -platform ../../../examples/platforms/fat_tree_cluster.xml -np 12 --cfg=network/model:IB --log=xbt_cfg.thres:critical ${bindir:=.}/../alltoall/alltoall_coll -q --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_cluster -platform ../../../examples/platforms/fat_tree_cluster.xml -np 12 --cfg=network/model:IB --log=xbt_cfg.thres:critical ${bindir:=.}/coll-alltoall -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 diff --git a/teshsuite/smpi/alltoall/alltoall_coll.c b/teshsuite/smpi/coll-alltoall/coll-alltoall.c similarity index 100% rename from teshsuite/smpi/alltoall/alltoall_coll.c rename to teshsuite/smpi/coll-alltoall/coll-alltoall.c diff --git a/teshsuite/smpi/alltoall/alltoall_coll.tesh b/teshsuite/smpi/coll-alltoall/coll-alltoall.tesh similarity index 97% rename from teshsuite/smpi/alltoall/alltoall_coll.tesh rename to teshsuite/smpi/coll-alltoall/coll-alltoall.tesh index 96a8a8070f..a54cdc1711 100644 --- a/teshsuite/smpi/alltoall/alltoall_coll.tesh +++ b/teshsuite/smpi/coll-alltoall/coll-alltoall.tesh @@ -3,7 +3,7 @@ ! output sort p Test all to all -$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/alltoall_coll -q --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/coll-alltoall -q --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error > [rank 0] -> Tremblay > [rank 1] -> Tremblay > [rank 2] -> Tremblay diff --git a/teshsuite/smpi/alltoall/hostfile_cluster b/teshsuite/smpi/hostfile_cluster similarity index 100% rename from teshsuite/smpi/alltoall/hostfile_cluster rename to teshsuite/smpi/hostfile_cluster diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index f8b0ec3588..bd076bfcd2 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -1016,7 +1016,6 @@ set(CMAKEFILES_TXT teshsuite/simix/stack_overflow/CMakeLists.txt teshsuite/smpi/CMakeLists.txt - teshsuite/smpi/alltoall/CMakeLists.txt teshsuite/smpi/compute/CMakeLists.txt teshsuite/smpi/reduce/CMakeLists.txt teshsuite/smpi/shared/CMakeLists.txt diff --git a/tools/cmake/Tests.cmake b/tools/cmake/Tests.cmake index 550a7fecaa..c8975a2188 100644 --- a/tools/cmake/Tests.cmake +++ b/tools/cmake/Tests.cmake @@ -136,19 +136,12 @@ IF(NOT enable_memcheck) # smpi examples ADD_TESH_FACTORIES(tesh-smpi-reduce "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/reduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce reduce.tesh) ADD_TESH_FACTORIES(tesh-smpi-compute "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/compute --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/compute compute.tesh) - FOREACH (ALLTOALL_COLL 2dmesh 3dmesh pair pair_rma pair_one_barrier pair_light_barrier - pair_mpi_barrier rdb ring ring_light_barrier - ring_mpi_barrier ring_one_barrier - bruck basic_linear ompi mpich mvapich2 mvapich2_scatter_dest, impi) - ADD_TESH(tesh-smpi-alltoall-coll-${ALLTOALL_COLL} --cfg smpi/alltoall:${ALLTOALL_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/alltoall --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/alltoall alltoall_coll.tesh) - ENDFOREACH() FOREACH (REDUCE_COLL default arrival_pattern_aware binomial flat_tree NTSL scatter_gather ompi mpich ompi_chain ompi_binary ompi_basic_linear ompi_binomial ompi_in_order_binary mvapich2 mvapich2_knomial mvapich2_two_level impi rab) ADD_TESH(tesh-smpi-reduce-coll-${REDUCE_COLL} --cfg smpi/reduce:${REDUCE_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/reduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce reduce_coll.tesh) ENDFOREACH() FOREACH (REDUCE_SCATTER_COLL default ompi mpich ompi_basic_recursivehalving ompi_ring mpich_noncomm mpich_pair mvapich2 mpich_rdb impi) ADD_TESH(tesh-smpi-reduce-scatter-coll-${REDUCE_SCATTER_COLL} --cfg smpi/reduce_scatter:${REDUCE_SCATTER_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/reduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce reduce_scatter_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) IF(HAVE_THREAD_CONTEXTS)