Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1c8a5dd0d1 | |||
| 64f8552443 | |||
| da1ceec4f5 | |||
| b12b39dedf |
+1
-1
@@ -1,4 +1,4 @@
|
||||
AC_INIT([H5hut], [1.99.13], [h5part@lists.psi.ch], H5hut)
|
||||
AC_INIT([H5hut], [1.99.14], [h5part@lists.psi.ch], H5hut)
|
||||
AC_PREREQ(2.60)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
@@ -925,6 +925,7 @@ hdf5_set_fapl_mpio_property (
|
||||
HDF5_WRAPPER_RETURN (H5_SUCCESS);
|
||||
}
|
||||
|
||||
#if H5_VERSION_LE(1,8,12)
|
||||
static inline h5_err_t
|
||||
hdf5_set_fapl_mpiposix_property (
|
||||
hid_t fapl_id,
|
||||
@@ -942,6 +943,7 @@ hdf5_set_fapl_mpiposix_property (
|
||||
" the file access property list."));
|
||||
HDF5_WRAPPER_RETURN (H5_SUCCESS);
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline h5_err_t
|
||||
hdf5_set_dxpl_mpio_property (
|
||||
|
||||
@@ -139,11 +139,14 @@ h5_err_t mpi_init (
|
||||
TRY (f->access_prop = hdf5_create_property(H5P_FILE_ACCESS));
|
||||
|
||||
/* select the HDF5 VFD */
|
||||
#if H5_VERSION_LE(1,8,12)
|
||||
if (f->mode & H5_VFD_MPIPOSIX) {
|
||||
h5_info("Selecting MPI-POSIX VFD");
|
||||
hbool_t use_gpfs = 0; // TODO autodetect GPFS?
|
||||
TRY (hdf5_set_fapl_mpiposix_property(f->access_prop, comm, use_gpfs));
|
||||
} else {
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
h5_info("Selecting MPI-IO VFD");
|
||||
TRY (hdf5_set_fapl_mpio_property(f->access_prop, comm, MPI_INFO_NULL));
|
||||
if (f->mode & H5_VFD_INDEPENDENT) {
|
||||
|
||||
@@ -292,7 +292,11 @@ h5_set_throttle (
|
||||
const int factor
|
||||
) {
|
||||
H5_CORE_API_ENTER (h5_err_t, "f=%p, factor=%d", f, factor);
|
||||
#if H5_VERSION_LE(1,8,12)
|
||||
if ( (f->mode & H5_VFD_INDEPENDENT) || (f->mode & H5_VFD_MPIPOSIX) ) {
|
||||
#else
|
||||
if (f->mode & H5_VFD_INDEPENDENT) {
|
||||
#endif
|
||||
f->throttle = factor;
|
||||
h5_info ("Throttling enabled with factor = %d", f->throttle );
|
||||
} else {
|
||||
|
||||
@@ -547,8 +547,8 @@ h5b_3d_set_view (
|
||||
p->k_end = k_end;
|
||||
_normalize_partition(p);
|
||||
|
||||
#ifdef PARALLEL_IO
|
||||
h5b_fdata_t *b = f->b;
|
||||
#ifdef PARALLEL_IO
|
||||
h5b_partition_t *user_layout;
|
||||
h5b_partition_t *write_layout;
|
||||
|
||||
@@ -565,7 +565,6 @@ h5b_3d_set_view (
|
||||
TRY( _dissolve_ghostzones(f, user_layout, write_layout) );
|
||||
b->user_layout[0] = user_layout[f->myproc];
|
||||
b->write_layout[0] = write_layout[f->myproc];
|
||||
b->have_layout = 1;
|
||||
|
||||
p = b->user_layout;
|
||||
h5_debug (
|
||||
@@ -587,9 +586,9 @@ h5b_3d_set_view (
|
||||
|
||||
h5_free(user_layout);
|
||||
h5_free(write_layout);
|
||||
|
||||
TRY( h5bpriv_release_hyperslab(f) );
|
||||
#endif
|
||||
TRY( h5bpriv_release_hyperslab(f) );
|
||||
b->have_layout = 1;
|
||||
|
||||
H5_CORE_API_RETURN (H5_SUCCESS);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,8 @@ _select_hyperslab_for_writing (
|
||||
/*
|
||||
re-use existing hyperslab
|
||||
*/
|
||||
if ( f->b->shape >= 0 ) return H5_SUCCESS;
|
||||
if ( f->b->shape >= 0 )
|
||||
H5_PRIV_FUNC_LEAVE (H5_SUCCESS);
|
||||
|
||||
h5b_fdata_t *b = f->b;
|
||||
h5b_partition_t *p = b->write_layout;
|
||||
|
||||
+2
-1
@@ -28,7 +28,8 @@ extern "C" {
|
||||
|
||||
You can also select a "virtual file driver" in the HDF5 layer using:
|
||||
- H5_VFD_INDEPENDENT: MPI-IO in independent (asynchronous) mode
|
||||
- H5_VFD_MPIPOSIX: parallel I/O implemented directly by HDF5, bypassing MPI-IO
|
||||
- H5_VFD_MPIPOSIX: parallel I/O implemented directly by HDF5, bypassing
|
||||
MPI-IO (only for hdf5 <= 1.8.12)
|
||||
|
||||
\return File handle.
|
||||
\return NULL on error.
|
||||
|
||||
Reference in New Issue
Block a user