[MOAB-dev] r4088 - MOAB/trunk/src/io

kraftche at cae.wisc.edu kraftche at cae.wisc.edu
Mon Aug 16 12:00:00 CDT 2010


Author: kraftche
Date: 2010-08-16 12:00:00 -0500 (Mon, 16 Aug 2010)
New Revision: 4088

Modified:
   MOAB/trunk/src/io/ReadHDF5.cpp
   MOAB/trunk/src/io/ReadHDF5.hpp
   MOAB/trunk/src/io/ReadHDF5Dataset.cpp
   MOAB/trunk/src/io/ReadHDF5Dataset.hpp
Log:
attempt at better performance reading highly fragmented files

Modified: MOAB/trunk/src/io/ReadHDF5.cpp
===================================================================
--- MOAB/trunk/src/io/ReadHDF5.cpp	2010-08-13 14:56:18 UTC (rev 4087)
+++ MOAB/trunk/src/io/ReadHDF5.cpp	2010-08-16 17:00:00 UTC (rev 4088)
@@ -39,7 +39,6 @@
 #include "moab/CN.hpp"
 #include "FileOptions.hpp"
 #ifdef HDF5_PARALLEL
-#  include "ReadParallel.hpp"
 #  include <H5FDmpi.h>
 #  include <H5FDmpio.h>
 #endif
@@ -55,7 +54,7 @@
 
 namespace moab {
 
-#define BLOCKED_COORD_IO
+#undef BLOCKED_COORD_IO
 
 #define READ_HDF5_BUFFER_SIZE (40*1024*1024)
 
@@ -63,7 +62,6 @@
   assert( (PTR) >= (void*)dataBuffer ); assert( ((PTR)+(CNT)) <= (void*)(dataBuffer + bufferSize) );
 
 
-
 // This function doesn't do anything useful.  It's just a nice
 // place to set a break point to determine why the reader fails.
 static inline ErrorCode error( ErrorCode rval )
@@ -174,6 +172,7 @@
   ErrorCode rval;
   mhdf_Status status;
   indepIO = collIO = H5P_DEFAULT;
+  mpiComm = 0;
 
   if (MB_SUCCESS != init())
     return error(MB_FAILURE);
@@ -235,6 +234,7 @@
     }
     const int rank = myPcomm->proc_config().proc_rank();
     dbgOut.set_rank(rank);
+    mpiComm = new MPI_Comm(myPcomm->proc_config().proc_comm());
 
       // Open the file in serial on root to read summary
     dbgOut.tprint( 1, "Getting file summary\n" );
@@ -320,6 +320,8 @@
 {
   free( dataBuffer );
   free( fileInfo );
+  delete mpiComm;
+  mpiComm = 0;


More information about the moab-dev mailing list