X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0716a43321411df330eded3271a921b18574a26d..da62b5cbd53ece70108a4f0eba4757e75f3dc00a:/src/smpi/colls/colls.h?ds=sidebyside diff --git a/src/smpi/colls/colls.h b/src/smpi/colls/colls.h index ddbf183a8c..12627c06c8 100644 --- a/src/smpi/colls/colls.h +++ b/src/smpi/colls/colls.h @@ -20,6 +20,22 @@ #define COLL_NOsep #define COLL_NOTHING(...) +/************* + * GATHER * + *************/ +#define COLL_GATHER_SIG gather, int, \ + (void *send_buff, int send_count, MPI_Datatype send_type, \ + void *recv_buff, int recv_count, MPI_Datatype recv_type, \ + int root, MPI_Comm comm) + +#define COLL_GATHERS(action, COLL_sep) \ +COLL_APPLY(action, COLL_GATHER_SIG, ompi) COLL_sep \ +COLL_APPLY(action, COLL_GATHER_SIG, ompi_basic_linear) COLL_sep \ +COLL_APPLY(action, COLL_GATHER_SIG, ompi_binomial) COLL_sep \ +COLL_APPLY(action, COLL_GATHER_SIG, ompi_linear_sync) \ + + +COLL_GATHERS(COLL_PROTO, COLL_NOsep) /************* * ALLGATHER * @@ -45,7 +61,8 @@ COLL_APPLY(action, COLL_ALLGATHER_SIG, ring) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHER_SIG, SMP_NTS) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHER_SIG, smp_simple) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHER_SIG, spreading_simple) COLL_sep \ -COLL_APPLY(action, COLL_ALLGATHER_SIG, ompi) +COLL_APPLY(action, COLL_ALLGATHER_SIG, ompi) COLL_sep \ +COLL_APPLY(action, COLL_ALLGATHER_SIG, ompi_neighborexchange) COLL_ALLGATHERS(COLL_PROTO, COLL_NOsep) @@ -61,7 +78,8 @@ COLL_ALLGATHERS(COLL_PROTO, COLL_NOsep) COLL_APPLY(action, COLL_ALLGATHERV_SIG, GB) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHERV_SIG, pair) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHERV_SIG, ring) COLL_sep \ -COLL_APPLY(action, COLL_ALLGATHERV_SIG, ompi) +COLL_APPLY(action, COLL_ALLGATHERV_SIG, ompi) COLL_sep \ +COLL_APPLY(action, COLL_ALLGATHERV_SIG, ompi_neighborexchange) COLL_ALLGATHERVS(COLL_PROTO, COLL_NOsep) @@ -166,7 +184,8 @@ COLL_APPLY(action, COLL_BCAST_SIG, SMP_binary) COLL_sep \ COLL_APPLY(action, COLL_BCAST_SIG, SMP_binomial) COLL_sep \ COLL_APPLY(action, COLL_BCAST_SIG, SMP_linear) COLL_sep \ COLL_APPLY(action, COLL_BCAST_SIG, ompi) COLL_sep \ -COLL_APPLY(action, COLL_BCAST_SIG, ompi_split_bintree) +COLL_APPLY(action, COLL_BCAST_SIG, ompi_split_bintree) COLL_sep \ +COLL_APPLY(action, COLL_BCAST_SIG, ompi_pipeline) COLL_BCASTS(COLL_PROTO, COLL_NOsep) @@ -184,8 +203,44 @@ COLL_APPLY(action, COLL_REDUCE_SIG, binomial) COLL_sep \ COLL_APPLY(action, COLL_REDUCE_SIG, flat_tree) COLL_sep \ COLL_APPLY(action, COLL_REDUCE_SIG, NTSL) COLL_sep \ COLL_APPLY(action, COLL_REDUCE_SIG, scatter_gather) COLL_sep \ -COLL_APPLY(action, COLL_REDUCE_SIG, ompi) +COLL_APPLY(action, COLL_REDUCE_SIG, ompi) COLL_sep \ +COLL_APPLY(action, COLL_REDUCE_SIG, ompi_chain) COLL_sep \ +COLL_APPLY(action, COLL_REDUCE_SIG, ompi_pipeline) COLL_sep \ +COLL_APPLY(action, COLL_REDUCE_SIG, ompi_basic_linear) COLL_sep \ +COLL_APPLY(action, COLL_REDUCE_SIG, ompi_in_order_binary) COLL_sep \ +COLL_APPLY(action, COLL_REDUCE_SIG, ompi_binary) COLL_sep \ +COLL_APPLY(action, COLL_REDUCE_SIG, ompi_binomial) COLL_REDUCES(COLL_PROTO, COLL_NOsep) +/************* + * REDUCE_SCATTER * + *************/ +#define COLL_REDUCE_SCATTER_SIG reduce_scatter, int, \ + (void *sbuf, void *rbuf, int *rcounts,\ + MPI_Datatype dtype,MPI_Op op,MPI_Comm comm) + +#define COLL_REDUCE_SCATTERS(action, COLL_sep) \ +COLL_APPLY(action, COLL_REDUCE_SCATTER_SIG, ompi) COLL_sep \ +COLL_APPLY(action, COLL_REDUCE_SCATTER_SIG, ompi_basic_recursivehalving) COLL_sep \ +COLL_APPLY(action, COLL_REDUCE_SCATTER_SIG, ompi_ring) + +COLL_REDUCE_SCATTERS(COLL_PROTO, COLL_NOsep) + + +/************* + * REDUCE_SCATTER * + *************/ +#define COLL_SCATTER_SIG scatter, int, \ + (void *sendbuf, int sendcount, MPI_Datatype sendtype,\ + void *recvbuf, int recvcount, MPI_Datatype recvtype,\ + int root, MPI_Comm comm) + +#define COLL_SCATTERS(action, COLL_sep) \ +COLL_APPLY(action, COLL_SCATTER_SIG, ompi) COLL_sep \ +COLL_APPLY(action, COLL_SCATTER_SIG, ompi_basic_linear) COLL_sep \ +COLL_APPLY(action, COLL_SCATTER_SIG, ompi_binomial) + +COLL_SCATTERS(COLL_PROTO, COLL_NOsep) + #endif