Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
remove another algorithm
authorAugustin Degomme <degomme@idpann.imag.fr>
Thu, 4 Apr 2013 14:10:42 +0000 (16:10 +0200)
committerAugustin Degomme <degomme@idpann.imag.fr>
Thu, 4 Apr 2013 14:10:42 +0000 (16:10 +0200)
buildtools/Cmake/AddTests.cmake
buildtools/Cmake/DefinePackages.cmake
src/smpi/colls/allgather-SMP-simple.c [deleted file]
src/smpi/colls/colls.h

index 62801ab..9a5ef21 100644 (file)
@@ -371,7 +371,7 @@ if(NOT enable_memcheck)
     endif()
 
     FOREACH (ALLGATHER_COLL default GB loosely_lr lr NTSLR NTSLR_NB pair rdb  rhv ring SMP_NTS
     endif()
 
     FOREACH (ALLGATHER_COLL default GB loosely_lr lr NTSLR NTSLR_NB pair rdb  rhv ring SMP_NTS
-                           smp_simple SMP_simple spreading_simple)
+                           smp_simple spreading_simple)
         ADD_TEST(smpi-allgather-coll-${ALLGATHER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allgather:${ALLGATHER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgather_coll.tesh)
     ENDFOREACH()
     FOREACH (ALLREDUCE_COLL default lr NTS rab1 rab2 rab_rsag rdb smp_binomial smp_rdb smp_rsag
         ADD_TEST(smpi-allgather-coll-${ALLGATHER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allgather:${ALLGATHER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgather_coll.tesh)
     ENDFOREACH()
     FOREACH (ALLREDUCE_COLL default lr NTS rab1 rab2 rab_rsag rdb smp_binomial smp_rdb smp_rsag
index f4190c4..ec5e01c 100644 (file)
@@ -123,7 +123,6 @@ set(SMPI_SRC
   src/smpi/colls/allgather-ring.c
   src/smpi/colls/allgather-SMP-NTS.c
   src/smpi/colls/allgather-smp-simple.c
   src/smpi/colls/allgather-ring.c
   src/smpi/colls/allgather-SMP-NTS.c
   src/smpi/colls/allgather-smp-simple.c
-  src/smpi/colls/allgather-SMP-simple.c
   src/smpi/colls/allgather-spreading-simple.c
   src/smpi/colls/allreduce-lr.c
   src/smpi/colls/allreduce-NTS.c
   src/smpi/colls/allgather-spreading-simple.c
   src/smpi/colls/allreduce-lr.c
   src/smpi/colls/allreduce-NTS.c
diff --git a/src/smpi/colls/allgather-SMP-simple.c b/src/smpi/colls/allgather-SMP-simple.c
deleted file mode 100644 (file)
index ee57747..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-#include "colls.h"
-#ifndef NUM_CORE
-#define NUM_CORE 8
-#endif
-
-int smpi_coll_tuned_allgather_SMP_simple(void *send_buf, int scount,
-                                         MPI_Datatype stype, void *recv_buf,
-                                         int rcount, MPI_Datatype rtype,
-                                         MPI_Comm comm)
-{
-  int src, dst, comm_size, rank;
-  MPI_Comm_size(comm, &comm_size);
-  MPI_Comm_rank(comm, &rank);
-  MPI_Aint rextent, sextent;
-  MPI_Type_extent(rtype, &rextent);
-  MPI_Type_extent(stype, &sextent);
-  int tag = 50;
-  MPI_Status status;
-  int i, send_offset, recv_offset;
-  int intra_rank, inter_rank;
-  int num_core = NUM_CORE;
-  intra_rank = rank % num_core;
-  inter_rank = rank / num_core;
-  int inter_comm_size = (comm_size + num_core - 1) / num_core;
-  int num_core_in_current_smp = num_core;
-
-  // the last SMP node may have fewer number of running processes than all others
-  if (inter_rank == (inter_comm_size - 1)) {
-    num_core_in_current_smp = comm_size - (inter_rank * num_core);
-  }
-  //INTRA-SMP-ALLGATHER
-  recv_offset = rank * rextent * rcount;
-  MPI_Sendrecv(send_buf, scount, stype, rank, tag,
-               ((char *) recv_buf + recv_offset), rcount, rtype, rank, tag,
-               comm, &status);
-  for (i = 1; i < num_core_in_current_smp; i++) {
-
-    dst =
-        (inter_rank * num_core) + (intra_rank + i) % (num_core_in_current_smp);
-    src =
-        (inter_rank * num_core) + (intra_rank - i +
-                                   num_core_in_current_smp) %
-        (num_core_in_current_smp);
-    recv_offset = src * rextent * rcount;
-
-    MPI_Sendrecv(send_buf, scount, stype, dst, tag,
-                 ((char *) recv_buf + recv_offset), rcount, rtype, src, tag,
-                 comm, &status);
-
-  }
-
-  // INTER-SMP-ALLGATHER 
-  // Every root of each SMP node post INTER-Sendrecv, then do INTRA-Bcast for each receiving message
-
-
-
-  if (intra_rank == 0) {
-    MPI_Request *reqs, *req_ptr;
-    int num_req = (inter_comm_size - 1) * 2;
-    reqs = (MPI_Request *) malloc(num_req * sizeof(MPI_Request));
-    req_ptr = reqs;
-    MPI_Status *stat;
-    stat = (MPI_Status *) malloc(num_req * sizeof(MPI_Status));
-
-    for (i = 1; i < inter_comm_size; i++) {
-
-      //dst = ((inter_rank+i)%inter_comm_size) * num_core;
-      src = ((inter_rank - i + inter_comm_size) % inter_comm_size) * num_core;
-      //send_offset = (rank * sextent * scount);
-      recv_offset = (src * sextent * scount);
-      //      MPI_Sendrecv((recv_buf+send_offset), (scount * num_core), stype, dst, tag, 
-      //             (recv_buf+recv_offset), (rcount * num_core), rtype, src, tag, comm, &status);
-      //MPIC_Isend((recv_buf+send_offset), (scount * num_core), stype, dst, tag, comm, req_ptr++);
-      MPI_Irecv(((char *) recv_buf + recv_offset), (rcount * num_core), rtype,
-                src, tag, comm, req_ptr++);
-    }
-    for (i = 1; i < inter_comm_size; i++) {
-
-      dst = ((inter_rank + i) % inter_comm_size) * num_core;
-      //src = ((inter_rank-i+inter_comm_size)%inter_comm_size) * num_core;
-      send_offset = (rank * sextent * scount);
-      //recv_offset = (src * sextent * scount);
-      //      MPI_Sendrecv((recv_buf+send_offset), (scount * num_core), stype, dst, tag, 
-      //             (recv_buf+recv_offset), (rcount * num_core), rtype, src, tag, comm, &status);
-      MPI_Isend(((char *) recv_buf + send_offset), (scount * num_core), stype,
-                dst, tag, comm, req_ptr++);
-      //MPIC_Irecv((recv_buf+recv_offset), (rcount * num_core), rtype, src, tag, comm, req_ptr++);
-    }
-    MPI_Waitall(num_req, reqs, stat);
-    free(reqs);
-    free(stat);
-
-  }
-  //INTRA-BCAST (use flat tree)
-
-  if (intra_rank == 0) {
-    for (i = 1; i < num_core_in_current_smp; i++) {
-      //printf("rank = %d, num = %d send to %d\n",rank, num_core_in_current_smp, (rank + i));
-      MPI_Send(recv_buf, (scount * comm_size), stype, (rank + i), tag, comm);
-    }
-  } else {
-    //printf("rank = %d recv from %d\n",rank, (inter_rank * num_core));
-    MPI_Recv(recv_buf, (rcount * comm_size), rtype, (inter_rank * num_core),
-             tag, comm, &status);
-  }
-
-
-  return MPI_SUCCESS;
-}
index 0b34d05..2a4b16f 100644 (file)
@@ -46,7 +46,6 @@ COLL_APPLY(action, COLL_ALLGATHER_SIG, rhv) COLL_sep \
 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, 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, SMP_simple) COLL_sep \
 COLL_APPLY(action, COLL_ALLGATHER_SIG, spreading_simple)
 
 COLL_ALLGATHERS(COLL_PROTO, COLL_NOsep)
 COLL_APPLY(action, COLL_ALLGATHER_SIG, spreading_simple)
 
 COLL_ALLGATHERS(COLL_PROTO, COLL_NOsep)