[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