Commit e3b93e43 authored by Marc Howison's avatar Marc Howison

removed redundant VFD code in _H5Part_open and added an option for CORE VFD

parent 3e99a8cc
......@@ -29,6 +29,13 @@ To better accomodate round-robin lustre striping, the new policy is to
execute P/N batches of N writes. Thus, matching N to the number of stripes
results in the desirable 1-1 matching of writers to stripes.
Other Fixes
-----------
* The configure script should correctly detect PGI compilers now.
* There was a small memory leak in the Fortran file open calls.
* There was a compile error with HDF5 1.6.x due to a missing assignment.
#### H5PART 1.6 ##############################################################
Updated Documentation
......
......@@ -194,36 +194,7 @@ _H5Part_open_file (
goto error_cleanup;
}
/* select the HDF5 VFD */
if (flags & H5PART_VFD_MPIPOSIX) {
_H5Part_print_info ( "Selecting MPI-POSIX VFD" );
if (H5Pset_fapl_mpiposix ( f->access_prop, comm, 0 ) < 0) {
HANDLE_H5P_SET_FAPL_ERR;
goto error_cleanup;
}
}
else {
_H5Part_print_info ( "Selecting MPI-IO VFD" );
if (H5Pset_fapl_mpio ( f->access_prop, comm, info ) < 0) {
HANDLE_H5P_SET_FAPL_ERR;
goto error_cleanup;
}
if (flags & H5PART_VFD_MPIIO_IND) {
_H5Part_print_info ( "Using independent mode" );
} else {
_H5Part_print_info ( "Using collective mode" );
f->xfer_prop = H5Pcreate (H5P_DATASET_XFER);
if (f->xfer_prop < 0) {
HANDLE_H5P_CREATE_ERR;
goto error_cleanup;
}
if (H5Pset_dxpl_mpio ( f->xfer_prop, H5FD_MPIO_COLLECTIVE ) < 0) {
HANDLE_H5P_SET_DXPL_MPIO_ERR;
goto error_cleanup;
}
}
}
/* optional lustre optimizations */
if ( flags & H5PART_FS_LUSTRE )
{
/* extend the btree size so that metadata pieces are
......@@ -279,8 +250,13 @@ _H5Part_open_file (
HANDLE_H5P_SET_FAPL_ERR;
goto error_cleanup;
}
}
else {
} else if (flags & H5PART_VFD_CORE) {
_H5Part_print_info ( "Selecting CORE VFD" );
if (H5Pset_fapl_core ( f->access_prop, comm, 0 ) < 0) {
HANDLE_H5P_SET_FAPL_ERR;
goto error_cleanup;
}
} else {
_H5Part_print_info ( "Selecting MPI-IO VFD" );
if (H5Pset_fapl_mpio ( f->access_prop, comm, info ) < 0) {
HANDLE_H5P_SET_FAPL_ERR;
......
......@@ -16,10 +16,10 @@ extern "C" {
#include "H5MultiBlock.h"
#endif
#define H5PART_VER_STRING "1.6.1"
#define H5PART_VER_STRING "1.6.2"
#define H5PART_VER_MAJOR 1
#define H5PART_VER_MINOR 6
#define H5PART_VER_RELEASE 1
#define H5PART_VER_RELEASE 2
/* error values */
#define H5PART_SUCCESS 0
......@@ -42,6 +42,7 @@ extern "C" {
#define H5PART_VFD_MPIPOSIX 0x08
#define H5PART_FS_LUSTRE 0x10
#define H5PART_VFD_MPIIO_IND 0x20
#define H5PART_VFD_CORE 0x40
/* verbosity level flags */
#define H5PART_VERB_NONE 0
......
......@@ -200,6 +200,8 @@ _H5Part_flagsfor2c (
while ( flags != NULL ) {
if ( strcmp ( flags, "vfd_mpiposix" ) == 0 )
fbits |= H5PART_VFD_MPIPOSIX;
else if ( strcmp ( flags, "vfd_core" ) == 0 )
fbits |= H5PART_VFD_CORE;
else if ( strcmp ( flags, "vfd_mpio_ind" ) == 0 )
fbits |= H5PART_VFD_MPIIO_IND;
else if ( strcmp ( flags, "fs_lustre" ) == 0 )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment