diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2014-03-21 23:02:24 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2014-03-21 23:02:24 (GMT) |
commit | 2e4302818ab260604ffa26e90dab159cf28079d4 (patch) | |
tree | 311af94353763d9664b716be63c1280115ec0c1f /src/H5FDmpio.c | |
parent | c4f982abf147f1050251ddd6ec4fe9515d01f67c (diff) | |
download | hdf5-2e4302818ab260604ffa26e90dab159cf28079d4.zip hdf5-2e4302818ab260604ffa26e90dab159cf28079d4.tar.gz hdf5-2e4302818ab260604ffa26e90dab159cf28079d4.tar.bz2 |
[svn-r24864] Description:
Remove all traces of MPI-POSIX VFD and GPFS detection/code.
Remove remaining traces of stream VFD.
Remove testpar/t_posix_compliant test (it's not actually verifying anything).
Clean up H5D__mpio_opt_possible() further.
Moved environment variable that disables MPI collective operations into
MPI-IO VFD (instead of it being in src/H5S.c).
A few other small code cleanups.
Tested on:
Mac OSX/64 10.9.2 (amazon) w/parallel & serial
Diffstat (limited to 'src/H5FDmpio.c')
-rw-r--r-- | src/H5FDmpio.c | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c index f23a3b5..d4b8fdc 100644 --- a/src/H5FDmpio.c +++ b/src/H5FDmpio.c @@ -44,6 +44,10 @@ */ static hid_t H5FD_MPIO_g = 0; +/* Whether to allow collective I/O operations */ +/* (Value can be set from environment variable also) */ +hbool_t H5FD_mpi_opt_types_g = TRUE; + /* * The view is set to this value */ @@ -189,51 +193,54 @@ H5FD_mpio_init_interface(void) * library. * * Return: Success: The driver ID for the mpio driver. - * * Failure: Negative. * * Programmer: Robb Matzke * Thursday, August 5, 1999 * - * Modifications: - * *------------------------------------------------------------------------- */ hid_t H5FD_mpio_init(void) { #ifdef H5FDmpio_DEBUG - static int H5FD_mpio_Debug_inited=0; + static int H5FD_mpio_Debug_inited = 0; #endif /* H5FDmpio_DEBUG */ + const char *s; /* String for environment variables */ hid_t ret_value; /* Return value */ FUNC_ENTER_NOAPI(FAIL) - if (H5I_VFL!=H5I_get_type(H5FD_MPIO_g)) - H5FD_MPIO_g = H5FD_register((const H5FD_class_t *)&H5FD_mpio_g,sizeof(H5FD_class_mpi_t),FALSE); + /* Register the MPI-IO VFD, if it isn't already */ + if(H5I_VFL != H5I_get_type(H5FD_MPIO_g)) + H5FD_MPIO_g = H5FD_register((const H5FD_class_t *)&H5FD_mpio_g, sizeof(H5FD_class_mpi_t), FALSE); + + /* Allow MPI buf-and-file-type optimizations? */ + s = HDgetenv("HDF5_MPI_OPT_TYPES"); + if(s && HDisdigit(*s)) + H5FD_mpi_opt_types_g = (hbool_t)HDstrtol(s, NULL, 0); #ifdef H5FDmpio_DEBUG - if (!H5FD_mpio_Debug_inited) - { - /* set debug mask */ - /* Should this be done in H5F global initialization instead of here? */ - const char *s = HDgetenv ("H5FD_mpio_Debug"); - if (s) { - while (*s){ + if(!H5FD_mpio_Debug_inited) { + /* Retrieve MPI-IO debugging environment variable */ + s = HDgetenv("H5FD_mpio_Debug"); + if(s) { + /* Set debug mask */ + while(*s) { H5FD_mpio_Debug[(int)*s]++; s++; - } - } + } /* end while */ + } /* end if */ H5FD_mpio_Debug_inited++; - } + } /* end if */ #endif /* H5FDmpio_DEBUG */ /* Set return value */ - ret_value=H5FD_MPIO_g; + ret_value = H5FD_MPIO_g; done: FUNC_LEAVE_NOAPI(ret_value) -} +} /* end H5FD_mpio_init() */ /*--------------------------------------------------------------------------- |