From d9b5705c036e91ea527d0a7b78c10445fb7fccd6 Mon Sep 17 00:00:00 2001 From: Augustin Degomme Date: Tue, 17 Sep 2013 14:51:02 +0200 Subject: [PATCH] remove redundant allgather algo from star-mpi --- buildtools/Cmake/DefinePackages.cmake | 1 - src/smpi/colls/allgather-lr.c | 48 --------------------------- src/smpi/colls/colls.h | 1 - 3 files changed, 50 deletions(-) delete mode 100644 src/smpi/colls/allgather-lr.c diff --git a/buildtools/Cmake/DefinePackages.cmake b/buildtools/Cmake/DefinePackages.cmake index 017cb796aa..3b1b370bf9 100644 --- a/buildtools/Cmake/DefinePackages.cmake +++ b/buildtools/Cmake/DefinePackages.cmake @@ -120,7 +120,6 @@ set(SMPI_SRC src/smpi/colls/allgather-bruck.c src/smpi/colls/allgather-GB.c src/smpi/colls/allgather-loosely-lr.c - src/smpi/colls/allgather-lr.c src/smpi/colls/allgather-NTSLR.c src/smpi/colls/allgather-NTSLR-NB.c src/smpi/colls/allgather-pair.c diff --git a/src/smpi/colls/allgather-lr.c b/src/smpi/colls/allgather-lr.c deleted file mode 100644 index 92b28bf47b..0000000000 --- a/src/smpi/colls/allgather-lr.c +++ /dev/null @@ -1,48 +0,0 @@ -#include "colls_private.h" - -// Allgather-Non-Topoloty-Scecific-Logical-Ring algorithm -int -smpi_coll_tuned_allgather_lr(void *sbuf, int scount, MPI_Datatype stype, - void *rbuf, int rcount, MPI_Datatype rtype, - MPI_Comm comm) -{ - MPI_Aint rextent, sextent; - MPI_Status status; - int i, to, from, rank, size; - int send_offset, recv_offset; - int tag = COLL_TAG_ALLGATHER; - - rank = smpi_comm_rank(comm); - size = smpi_comm_size(comm); - rextent = smpi_datatype_get_extent(rtype); - sextent = smpi_datatype_get_extent(stype); - - // irregular case use default MPI fucntions - if (scount * sextent != rcount * rextent) { - XBT_WARN("MPI_allgather_lr use default MPI_allgather."); - smpi_mpi_allgather(sbuf, scount, stype, rbuf, rcount, rtype, comm); - return MPI_SUCCESS; - } - - // topo non-specific - to = (rank + 1) % size; - from = (rank + size - 1) % size; - - //copy a single segment from sbuf to rbuf - send_offset = rank * scount * sextent; - smpi_mpi_sendrecv(sbuf, scount, stype, rank, tag, - (char *) rbuf + send_offset, rcount, rtype, rank, tag, - comm, &status); - - //start sending logical ring message - int increment = scount * sextent; - for (i = 0; i < size - 1; i++) { - send_offset = ((rank - i + size) % size) * increment; - recv_offset = ((rank - i - 1 + size) % size) * increment; - smpi_mpi_sendrecv((char *) rbuf + send_offset, scount, stype, to, tag + i, - (char *) rbuf + recv_offset, rcount, rtype, from, tag + i, - comm, &status); - } - - return MPI_SUCCESS; -} diff --git a/src/smpi/colls/colls.h b/src/smpi/colls/colls.h index dce6456e73..c7c739bf70 100644 --- a/src/smpi/colls/colls.h +++ b/src/smpi/colls/colls.h @@ -54,7 +54,6 @@ COLL_APPLY(action, COLL_ALLGATHER_SIG, 3dmesh) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHER_SIG, bruck) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHER_SIG, GB) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHER_SIG, loosely_lr) COLL_sep \ -COLL_APPLY(action, COLL_ALLGATHER_SIG, lr) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHER_SIG, NTSLR) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHER_SIG, NTSLR_NB) COLL_sep \ COLL_APPLY(action, COLL_ALLGATHER_SIG, pair) COLL_sep \ -- 2.20.1