Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
ignore some more memcpys/serialization when a buffer is detected as shared
[simgrid.git] / src / smpi / smpi_datatype.cpp
index 387325c..52ca497 100644 (file)
@@ -270,6 +270,13 @@ int Datatype::unpack(void* inbuf, int insize, int* position, void* outbuf, int o
 int Datatype::copy(void *sendbuf, int sendcount, MPI_Datatype sendtype,
                        void *recvbuf, int recvcount, MPI_Datatype recvtype){
   int count;
+
+  if(smpi_is_shared(sendbuf)){
+    XBT_DEBUG("Copy input buf %p is shared. Let's ignore it.", sendbuf);
+  }else if(smpi_is_shared(recvbuf)){
+    XBT_DEBUG("Copy output buf %p is shared. Let's ignore it.", recvbuf);
+  }
+
   if(smpi_privatize_global_variables){
     smpi_switch_data_segment(smpi_process()->index());
   }