[MOAB-dev] r4597 - MOAB/trunk/src/parallel

kraftche at cae.wisc.edu kraftche at cae.wisc.edu
Tue Mar 15 18:15:04 CDT 2011


Author: kraftche
Date: 2011-03-15 18:15:04 -0500 (Tue, 15 Mar 2011)
New Revision: 4597

Modified:
   MOAB/trunk/src/parallel/WriteHDF5Parallel.cpp
Log:
fix bug in parallel write of HDF5 file with no shared sets

Modified: MOAB/trunk/src/parallel/WriteHDF5Parallel.cpp
===================================================================
--- MOAB/trunk/src/parallel/WriteHDF5Parallel.cpp	2011-03-15 23:14:43 UTC (rev 4596)
+++ MOAB/trunk/src/parallel/WriteHDF5Parallel.cpp	2011-03-15 23:15:04 UTC (rev 4597)
@@ -1700,14 +1700,6 @@
     if (MB_SUCCESS != rval) 
       return error(rval);
   }
-
-  result = MPI_Scatter( &set_counts[0], 3, MPI_LONG,
-                        data_offsets,   3, MPI_LONG,
-                        0, myPcomm->proc_config().proc_comm() );
-  CHECK_MPI(result);
-  setContentsOffset = data_offsets[0];
-  setChildrenOffset = data_offsets[1];
-  setParentsOffset = data_offsets[2];
   
     // Broadcast both max_counts and total table sizes.
     // max_counts is necessary for collective IO because each
@@ -1722,6 +1714,14 @@
   result = MPI_Bcast( summary_counts, 6, MPI_LONG, 0, 
                       myPcomm->proc_config().proc_comm() );
   CHECK_MPI(result);
+
+  result = MPI_Scatter( &set_counts[0], 3, MPI_LONG,
+                        data_offsets,   3, MPI_LONG,
+                        0, myPcomm->proc_config().proc_comm() );
+  CHECK_MPI(result);
+  setContentsOffset = data_offsets[0];
+  setChildrenOffset = data_offsets[1];
+  setParentsOffset = data_offsets[2];
   maxNumSetContents = summary_counts[0];
   maxNumSetChildren = summary_counts[1];
   maxNumSetParents  = summary_counts[2];



















More information about the moab-dev mailing list