From e3b93e4383b1216f3b8e13d060e18ae2385c25a2 Mon Sep 17 00:00:00 2001 From: Marc Howison Date: Thu, 13 May 2010 17:54:38 +0000 Subject: [PATCH] removed redundant VFD code in _H5Part_open and added an option for CORE VFD --- NEWS | 7 +++++++ src/H5Part.c | 40 ++++++++-------------------------------- src/H5Part.h | 5 +++-- src/H5PartF.c | 2 ++ 4 files changed, 20 insertions(+), 34 deletions(-) diff --git a/NEWS b/NEWS index c3cde87..b405818 100644 --- a/NEWS +++ b/NEWS @@ -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 diff --git a/src/H5Part.c b/src/H5Part.c index 94b5e51..be1bac8 100644 --- a/src/H5Part.c +++ b/src/H5Part.c @@ -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; diff --git a/src/H5Part.h b/src/H5Part.h index 8055cd0..26830c2 100644 --- a/src/H5Part.h +++ b/src/H5Part.h @@ -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 diff --git a/src/H5PartF.c b/src/H5PartF.c index 0a77515..5267c41 100755 --- a/src/H5PartF.c +++ b/src/H5PartF.c @@ -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 )