]> AND Public Git Repository - simgrid.git/blobdiff - src/smpi/bindings/smpi_pmpi_coll.cpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of framagit.org:simgrid/simgrid
[simgrid.git] / src / smpi / bindings / smpi_pmpi_coll.cpp
index 446501d769f878cba0294cf8b5e0850c357fd431..dd38bb4c85422bf230d37c4ebe081084ae510b43 100644 (file)
 
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(smpi_pmpi);
 
-#define CHECK_ARGS(test, errcode, ...)                                                                                 \
-  if (test) {                                                                                                          \
-    XBT_WARN(__VA_ARGS__);                                                                                             \
-    return (errcode);                                                                                                  \
-  }
-
-#define CHECK_COMM(num)\
-  CHECK_ARGS(comm == MPI_COMM_NULL, MPI_ERR_COMM,\
-             "%s: param %d communicator cannot be MPI_COMM_NULL", __func__, num);
-#define CHECK_REQUEST(num)\
-  CHECK_ARGS(request == nullptr, MPI_ERR_ARG,\
-             "%s: param %d request cannot be NULL",__func__, num);
-#define CHECK_BUFFER(num,buf,count)\
-  CHECK_ARGS(buf == nullptr && count > 0, MPI_ERR_BUFFER,\
-             "%s: param %d %s cannot be NULL if %s > 0",__func__, num, #buf, #count);
-#define CHECK_COUNT(num,count)\
-  CHECK_ARGS(count < 0, MPI_ERR_COUNT,\
-             "%s: param %d %s cannot be negative", __func__, num, #count);
-#define CHECK_TYPE(num, datatype)\
-  CHECK_ARGS((datatype == MPI_DATATYPE_NULL|| not datatype->is_valid()), MPI_ERR_TYPE,\
-             "%s: param %d %s cannot be MPI_DATATYPE_NULL or invalid", __func__, num, #datatype);
-#define CHECK_OP(num)\
-  CHECK_ARGS(op == MPI_OP_NULL, MPI_ERR_OP,\
-             "%s: param %d op cannot be MPI_OP_NULL or invalid", __func__, num);
-#define CHECK_ROOT(num)\
-  CHECK_ARGS((root < 0 || root >= comm->size()), MPI_ERR_ROOT,\
-             "%s: param %d root (=%d) cannot be negative or larger than communicator size (=%d)", __func__, num, root,\
-             comm->size());
-#define CHECK_NULL(num,err,buf)\
-  CHECK_ARGS(buf == nullptr, err,\
-             "%s: param %d %s cannot be NULL", __func__, num, #buf);
-
   static const void* smpi_get_in_place_buf(const void* inplacebuf, const void* otherbuf,std::unique_ptr<unsigned char[]>& tmp_sendbuf, int count, MPI_Datatype datatype){
   if (inplacebuf == MPI_IN_PLACE) {
       tmp_sendbuf.reset(new unsigned char[count * datatype->get_extent()]);
@@ -208,7 +176,7 @@ int PMPI_Igatherv(const void* sendbuf, int sendcount, MPI_Datatype sendtype, voi
   int rank         = simgrid::s4u::this_actor::get_pid();
   int dt_size_recv = recvtype->is_replayable() ? 1 : recvtype->size();
 
-  std::vector<int>* trace_recvcounts = new std::vector<int>;
+  std::vector<int>* trace_recvcounts = new std::vector<int>();
   if (comm->rank() == root) {
     for (int i = 0; i < comm->size(); i++) // copy data to avoid bad free
       trace_recvcounts->push_back(recvcounts[i] * dt_size_recv);
@@ -307,7 +275,7 @@ int PMPI_Iallgatherv(const void* sendbuf, int sendcount, MPI_Datatype sendtype,
   int rank         = simgrid::s4u::this_actor::get_pid();
   int dt_size_recv = recvtype->is_replayable() ? 1 : recvtype->size();
 
-  std::vector<int>* trace_recvcounts = new std::vector<int>;
+  std::vector<int>* trace_recvcounts = new std::vector<int>();
   for (int i = 0; i < comm->size(); i++) { // copy data to avoid bad free
     trace_recvcounts->push_back(recvcounts[i] * dt_size_recv);
   }
@@ -409,7 +377,7 @@ int PMPI_Iscatterv(const void* sendbuf, const int* sendcounts, const int* displs
   int rank         = simgrid::s4u::this_actor::get_pid();
   int dt_size_send = sendtype->is_replayable() ? 1 : sendtype->size();
 
-  std::vector<int>* trace_sendcounts = new std::vector<int>;
+  std::vector<int>* trace_sendcounts = new std::vector<int>();
   if (comm->rank() == root) {
     for (int i = 0; i < comm->size(); i++) { // copy data to avoid bad free
       trace_sendcounts->push_back(sendcounts[i] * dt_size_send);
@@ -608,7 +576,7 @@ int PMPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int *recvcoun
 
   smpi_bench_end();
   int rank                           = simgrid::s4u::this_actor::get_pid();
-  std::vector<int>* trace_recvcounts = new std::vector<int>;
+  std::vector<int>* trace_recvcounts = new std::vector<int>();
   int dt_send_size                   = datatype->is_replayable() ? 1 : datatype->size();
   int totalcount                     = 0;
 
@@ -765,8 +733,8 @@ int PMPI_Ialltoallv(const void* sendbuf, const int* sendcounts, const int* sendd
   smpi_bench_end();
   int send_size                      = 0;
   int recv_size                      = 0;
-  std::vector<int>* trace_sendcounts = new std::vector<int>;
-  std::vector<int>* trace_recvcounts = new std::vector<int>;
+  std::vector<int>* trace_sendcounts = new std::vector<int>();
+  std::vector<int>* trace_recvcounts = new std::vector<int>();
   int dt_size_recv                   = recvtype->size();
 
   const int* real_sendcounts = sendcounts;
@@ -856,8 +824,8 @@ int PMPI_Ialltoallw(const void* sendbuf, const int* sendcounts, const int* sendd
 
   int send_size                      = 0;
   int recv_size                      = 0;
-  std::vector<int>* trace_sendcounts = new std::vector<int>;
-  std::vector<int>* trace_recvcounts = new std::vector<int>;
+  std::vector<int>* trace_sendcounts = new std::vector<int>();
+  std::vector<int>* trace_recvcounts = new std::vector<int>();
 
   const int* real_sendcounts         = sendcounts;
   const int* real_senddispls          = senddispls;