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

kraftche at cae.wisc.edu kraftche at cae.wisc.edu
Mon Feb 28 15:00:19 CST 2011


Author: kraftche
Date: 2011-02-28 15:00:18 -0600 (Mon, 28 Feb 2011)
New Revision: 4534

Modified:
   MOAB/trunk/src/parallel/WriteHDF5Parallel.cpp
   MOAB/trunk/src/parallel/WriteHDF5Parallel.hpp
Log:
.h5m collective IO for shared set data

Modified: MOAB/trunk/src/parallel/WriteHDF5Parallel.cpp
===================================================================
--- MOAB/trunk/src/parallel/WriteHDF5Parallel.cpp	2011-02-28 20:32:05 UTC (rev 4533)
+++ MOAB/trunk/src/parallel/WriteHDF5Parallel.cpp	2011-02-28 21:00:18 UTC (rev 4534)
@@ -2200,25 +2200,41 @@
 
   return MB_SUCCESS;
 }
-    
 
-ErrorCode WriteHDF5Parallel::write_shared_set_contents( hid_t table,
-                                            IODebugTrack* dbg_track )
+ErrorCode WriteHDF5Parallel::write_shared_set_data( hid_t table,
+                                   WriteUtilIface::EntityListType which_data,
+                                   IODebugTrack* dbg_track )
 {
-  dbgOut.tprint(1, "write_shared_set_contents\n" );
-
+  herr_t err;
   ErrorCode rval;
-  mhdf_Status status;
   std::vector<EntityHandle> handle_list;
   std::vector<id_t> id_list;
+  std::vector<id_t> big_list;
+  hid_t data_space = H5Dget_space( table );
+  H5Sselect_none( data_space );
   
-  for( std::list<ParallelSet>::const_iterator iter = parallelSets.begin();
-        iter != parallelSets.end(); ++iter)
-  {
+  std::list<ParallelSet>::const_iterator iter;
+  for (iter = parallelSets.begin(); iter != parallelSets.end(); ++iter) {
     handle_list.clear();
-    rval = iFace->get_entities_by_handle( iter->handle, handle_list );
-    if (MB_SUCCESS != rval)
+    long offset;
+    switch (which_data) {
+      case WriteUtilIface::CONTENTS:
+        rval = iFace->get_entities_by_handle( iter->handle, handle_list );
+        offset = iter->contentsOffset;
+        break;
+      case WriteUtilIface::CHILDREN:
+        rval = iFace->get_child_meshsets( iter->handle, handle_list );
+        offset = iter->childrenOffset;
+        break;
+      case WriteUtilIface::PARENTS:
+        rval = iFace->get_parent_meshsets( iter->handle, handle_list );
+        offset = iter->parentsOffset;
+        break;
+    }
+    if (MB_SUCCESS != rval) {


More information about the moab-dev mailing list