From: Daniel Garcia-Sanchez <daniel.garcia-sanchez@insp.upmc.fr> Date: Thu, 29 Nov 2018 15:58:00 +0000 (+0100) Subject: Reorder functions get/set_query_io_mode() X-Git-Tag: v9.1.0-rc1~453^2~2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0bc0c91d17e8c47533ccd70295c1a908c5f55904;p=dealii.git Reorder functions get/set_query_io_mode() --- diff --git a/include/deal.II/base/hdf5.h b/include/deal.II/base/hdf5.h index 5af0178366..fd33c7d762 100644 --- a/include/deal.II/base/hdf5.h +++ b/include/deal.II/base/hdf5.h @@ -709,6 +709,31 @@ namespace HDF5 void write_none(); + /** + * This function returns the boolean query_io_mode. + * + * In cases where maximum performance has to be achieved, it is important to + * make sure that all MPI read/write operations are collective. The HDF5 + * library provides API routines that can be used after the read/write I/O + * operations to query the I/O mode. If query_io_mode is set to true, then + * after every read/write operation the deal.II's HDF5 interface calls the + * routines + * [H5Pget_mpio_actual_io_mode()](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioActualIoMode) + * and + * [H5Pget_mpio_no_collective_cause()](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause). + * The results are stored in io_mode, local_no_collective_cause and + * global_no_collective_cause. We suggest to query the I/O mode only in + * Debug mode because it requires calling additional HDF5 routines. + */ + bool + get_query_io_mode() const; + + /** + * This function sets the boolean query_io_mode. + */ + void + set_query_io_mode(const bool new_query_io_mode); + /** * This function returns the I/O mode that was used on the last * parallel I/O call. See <a @@ -745,7 +770,6 @@ namespace HDF5 H5D_mpio_actual_io_mode_t get_io_mode_as_hdf5_type(); - /** * This function returns the local causes that broke collective I/O on the * last parallel I/O call. See <a @@ -834,31 +858,6 @@ namespace HDF5 uint32_t get_global_no_collective_cause_as_hdf5_type(); - /** - * This function returns the boolean query_io_mode. - * - * In cases where maximum performance has to be achieved, it is important to - * make sure that all MPI read/write operations are collective. The HDF5 - * library provides API routines that can be used after the read/write I/O - * operations to query the I/O mode. If query_io_mode is set to true, then - * after every read/write operation the deal.II's HDF5 interface calls the - * routines - * [H5Pget_mpio_actual_io_mode()](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioActualIoMode) - * and - * [H5Pget_mpio_no_collective_cause()](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause). - * The results are stored in io_mode, local_no_collective_cause and - * global_no_collective_cause. We suggest to query the I/O mode only in - * Debug mode because it requires calling additional HDF5 routines. - */ - bool - get_query_io_mode() const; - - /** - * This function sets the boolean query_io_mode. - */ - void - set_query_io_mode(const bool query_io_mode); - /** * This function returns the dimensions of the dataset. The vector * dimensions is a one-dimensional array of size rank specifying the size of diff --git a/source/base/hdf5.cc b/source/base/hdf5.cc index 391b0fbbd5..b5ff668b92 100644 --- a/source/base/hdf5.cc +++ b/source/base/hdf5.cc @@ -1132,6 +1132,22 @@ namespace HDF5 + void + DataSet::set_query_io_mode(const bool new_query_io_mode) + { + query_io_mode = new_query_io_mode; + } + + + + std::vector<hsize_t> + DataSet::get_dimensions() const + { + return dimensions; + } + + + std::string DataSet::get_io_mode() { @@ -1232,22 +1248,6 @@ namespace HDF5 - void - DataSet::set_query_io_mode(const bool new_query_io_mode) - { - query_io_mode = new_query_io_mode; - } - - - - std::vector<hsize_t> - DataSet::get_dimensions() const - { - return dimensions; - } - - - unsigned int DataSet::get_size() const {