]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
Fix little bug
authorAnthony Geay <anthony.geay@edf.fr>
Wed, 4 Nov 2020 21:01:53 +0000 (22:01 +0100)
committerAnthony Geay <anthony.geay@edf.fr>
Wed, 4 Nov 2020 21:01:53 +0000 (22:01 +0100)
src/ParaMEDMEM/ParaUMesh.cxx

index 555e09eb03cb3041a7452b01f92108cfd63926d9..19e2f1405193ed4c663bf814a5c63ff21452f9bc 100644 (file)
@@ -159,7 +159,7 @@ MCAuto<DataArrayIdType> ParaUMesh::getCellIdsLyingOnNodesFalse(const DataArrayId
   mcIdType nbOfNodeIdsLoc(globalNodeIds->getNumberOfTuples());
   ci.allGather(&nbOfNodeIdsLoc,1,MPI_ID_TYPE,nbOfElems.get(),1,MPI_ID_TYPE,comm);
   // loop to avoid to all procs to have all the nodes per proc
-  int nbOfCollectiveCalls = size;// this parameter controls the memory peak
+  int nbOfCollectiveCalls = 1;// this parameter controls the memory peak
   std::vector< MCAuto<DataArrayIdType> > tabs(size);
   for(int subDiv = 0 ; subDiv < nbOfCollectiveCalls ; ++subDiv)
   {
@@ -169,7 +169,7 @@ MCAuto<DataArrayIdType> ParaUMesh::getCellIdsLyingOnNodesFalse(const DataArrayId
     std::unique_ptr<int[]> nbOfElemsInt( CommInterface::ToIntArray<mcIdType>(nbOfElemsSp,size) );
     std::unique_ptr<int[]> offsetsIn( CommInterface::ComputeOffset(nbOfElemsInt,size) );
     mcIdType startGlobalNodeIds,endGlobalNodeIds;
-    DataArray::GetSlice(0,globalNodeIds->getNumberOfTuples(),1,subDiv,size,startGlobalNodeIds,endGlobalNodeIds);
+    DataArray::GetSlice(0,globalNodeIds->getNumberOfTuples(),1,subDiv,nbOfCollectiveCalls,startGlobalNodeIds,endGlobalNodeIds);
     ci.allGatherV(globalNodeIds->begin()+startGlobalNodeIds,FromIdType<int>(endGlobalNodeIds-startGlobalNodeIds),MPI_ID_TYPE,allGlobalNodeIds.get(),nbOfElemsInt.get(),offsetsIn.get(),MPI_ID_TYPE,comm);
     mcIdType offset(0);
     for(int curRk = 0 ; curRk < size ; ++curRk)