From c237a76987a296447d8b47a5cbee0b9fc25d3a4e Mon Sep 17 00:00:00 2001 From: Daniel Garcia-Sanchez Date: Tue, 9 Oct 2018 16:18:58 +0200 Subject: [PATCH] Use two functions instead of a template Instead of a templated get_io_mode() function. Two functions have been defined: - std::string get_io_mode(); - H5D_mpio_actual_io_mode_t get_io_mode_as_hdf5_type(); And the same for get_local_no_collective_cause() and get_global_no_collective_cause() --- include/deal.II/base/hdf5.h | 119 ++++++++++++++++++------- source/base/hdf5.cc | 47 +++++----- tests/base/hdf5_03.cc | 99 +++++++-------------- tests/base/hdf5_04.cc | 167 +++++++++++++----------------------- 4 files changed, 200 insertions(+), 232 deletions(-) diff --git a/include/deal.II/base/hdf5.h b/include/deal.II/base/hdf5.h index 8bd2485b21..6b4c4bb7a5 100644 --- a/include/deal.II/base/hdf5.h +++ b/include/deal.II/base/hdf5.h @@ -261,7 +261,7 @@ DEAL_II_NAMESPACE_OPEN * Global no collective cause: H5D_MPIO_COLLECTIVE * @endcode * See DataSet::io_mode(), DataSet::local_no_collective_cause() and - * DataSet::get_global_no_collective_cause() for all the possible returned + * DataSet::get_global_no_collective_cause() for all the possible return * codes. * * # Rank of the HDF5 datasets and hyperslabs @@ -370,16 +370,16 @@ namespace HDF5 const bool mpi; /** - * Returned value of the last HDF5 C library call. + * Return value of the last HDF5 C library call. * * The HDF5 calls return a non-negative value if successful; otherwise they * return a negative value. * * Calls such as * [H5DWrite](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5D.html#Dataset-Write) - * use this variable to store the returned value. Other calls such as + * use this variable to store the return value. Other calls such as * [H5Pcreate](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-Create) - * don't use this variable to store the returned value. + * don't use this variable to store the return value. */ herr_t ret; }; @@ -660,15 +660,11 @@ namespace HDF5 write_none(); /** - * This funcion retrieves the type of I/O that was performed on the last + * This funcion returns the I/O mode that was used on the last * parallel I/O call. See H5Pget_mpio_actual_io_mode. - * The return type @p T can be `H5D_mpio_actual_io_mode_t` or `std::string`. - * The type `H5D_mpio_actual_io_mode_t` corresponds to the value returned by - * H5Pget_mpio_actual_io_mode and `std::string` is a human readable - * conversion. * - * The returned value value can be + * The return value is a `std::string` and can be * Value | Meaning * ------------------------------ | ------- * H5D_MPIO_NO_COLLECTIVE | No collective I/O was performed. Collective I/O was not requested or collective I/O isn't possible on this dataset. @@ -677,20 +673,35 @@ namespace HDF5 * H5D_MPIO_CHUNK_MIXED | HDF5 performed one the chunk collective optimization schemes and some chunks were accessed independently, some collectively. * H5D_MPIO_CONTIGUOUS_COLLECTIVE | Collective I/O was performed on a contiguous dataset. */ - template - T + std::string get_io_mode(); /** - * This funcion retrieves the local causes that broke collective I/O on the + * This funcion returns the I/O mode that was used on the last + * parallel I/O call. See H5Pget_mpio_actual_io_mode. + * The return type is `H5D_mpio_actual_io_mode_t` which corresponds to the + * value returned by H5Pget_mpio_actual_io_mode. + * + * The return value can be + * Value | Meaning + * ------------------------------ | ------- + * H5D_MPIO_NO_COLLECTIVE | No collective I/O was performed. Collective I/O was not requested or collective I/O isn't possible on this dataset. + * H5D_MPIO_CHUNK_INDEPENDENT | HDF5 performed one the chunk collective optimization schemes and each chunk was accessed independently. + * H5D_MPIO_CHUNK_COLLECTIVE | HDF5 performed one the chunk collective optimization schemes and each chunk was accessed collectively. + * H5D_MPIO_CHUNK_MIXED | HDF5 performed one the chunk collective optimization schemes and some chunks were accessed independently, some collectively. + * H5D_MPIO_CONTIGUOUS_COLLECTIVE | Collective I/O was performed on a contiguous dataset. + */ + H5D_mpio_actual_io_mode_t + get_io_mode_as_hdf5_type(); + + + /** + * This funcion returns the local causes that broke collective I/O on the * last parallel I/O call. See H5Pget_mpio_no_collective_cause. - * The return type @p T can be `uint32_t` or `std::string`. The type - * `uint32_t` corresponds to the value returned by - * [H5Pget_mpio_no_collective_cause](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause) - * and `std::string` is a human readable conversion. * - * The returned value value can be + * The return value is a string and can be * Value | Meaning * ------------------------------------------ | ------- * H5D_MPIO_COLLECTIVE | Collective I/O was performed successfully. @@ -703,20 +714,38 @@ namespace HDF5 * H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET | Collective I/O was not performed because the dataset was neither contiguous nor chunked. * H5D_MPIO_FILTERS | Collective I/O was not performed because filters needed to be applied. */ - template - T + std::string get_local_no_collective_cause(); + /** + * This funcion returns the local causes that broke collective I/O on the + * last parallel I/O call. See H5Pget_mpio_no_collective_cause. + * The return type is `uint32_t` and corresponds to the value returned by + * [H5Pget_mpio_no_collective_cause](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause). + * + * The return value can be + * Value | Meaning + * ------------------------------------------ | ------- + * H5D_MPIO_COLLECTIVE | Collective I/O was performed successfully. + * H5D_MPIO_SET_INDEPENDENT | Collective I/O was not performed because independent I/O was requested. + * H5D_MPIO_DATATYPE_CONVERSION | Collective I/O was not performed because datatype conversions were required. + * H5D_MPIO_DATA_TRANSFORMS | Collective I/O was not performed because data transforms needed to be applied. + * H5D_MPIO_SET_MPIPOSIX | Collective I/O was not performed because the selected file driver was MPI-POSIX. + * H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES | Collective I/O was not performed because one of the dataspaces was neither simple nor scalar. + * H5D_MPIO_POINT_SELECTIONS | Collective I/O was not performed because there were point selections in one of the dataspaces. + * H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET | Collective I/O was not performed because the dataset was neither contiguous nor chunked. + * H5D_MPIO_FILTERS | Collective I/O was not performed because filters needed to be applied. + */ + uint32_t + get_local_no_collective_cause_as_hdf5_type(); + /** * This funcion retrieves the global causes that broke collective I/O on the * last parallel I/O call. See H5Pget_mpio_no_collective_cause. - * The return type @p T can be `uint32_t` or `std::string`. The type - * `uint32_t` corresponds to the value returned by - * H5Pget_mpio_no_collective_cause and `std::string` is a human readable - * conversion. * - * The returned value value can be + * The return value is a std::string and can be * Value | Meaning * ------------------------------------------ | ------- * H5D_MPIO_COLLECTIVE | Collective I/O was performed successfully. @@ -729,12 +758,34 @@ namespace HDF5 * H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET | Collective I/O was not performed because the dataset was neither contiguous nor chunked. * H5D_MPIO_FILTERS | Collective I/O was not performed because filters needed to be applied. */ - template - T + std::string get_global_no_collective_cause(); /** - * This function retrieves the boolean query_io_mode. + * This funcion returns the global causes that broke collective I/O on the + * last parallel I/O call. See H5Pget_mpio_no_collective_cause. + * The return type is `uint32_t` and corresponds to the value returned by + * H5Pget_mpio_no_collective_cause. + * + * The return value value can be + * Value | Meaning + * ------------------------------------------ | ------- + * H5D_MPIO_COLLECTIVE | Collective I/O was performed successfully. + * H5D_MPIO_SET_INDEPENDENT | Collective I/O was not performed because independent I/O was requested. + * H5D_MPIO_DATATYPE_CONVERSION | Collective I/O was not performed because datatype conversions were required. + * H5D_MPIO_DATA_TRANSFORMS | Collective I/O was not performed because data transforms needed to be applied. + * H5D_MPIO_SET_MPIPOSIX | Collective I/O was not performed because the selected file driver was MPI-POSIX. + * H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES | Collective I/O was not performed because one of the dataspaces was neither simple nor scalar. + * H5D_MPIO_POINT_SELECTIONS | Collective I/O was not performed because there were point selections in one of the dataspaces. + * H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET | Collective I/O was not performed because the dataset was neither contiguous nor chunked. + * H5D_MPIO_FILTERS | Collective I/O was not performed because filters needed to be applied. + */ + 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 @@ -753,13 +804,15 @@ namespace HDF5 get_query_io_mode() const; /** - * This function sets the boolean query_io_mode(). + * This function sets the boolean query_io_mode. */ void set_query_io_mode(bool query_io_mode); /** - * This funcion returns the dimensions of the dataset. + * This funcion returns the dimensions of the dataset. The vector dimensions + * is a one-dimensional array of size rank specifying the size of each + * dimension of the dataset. */ std::vector get_dimensions() const; @@ -783,13 +836,13 @@ namespace HDF5 unsigned int rank; /** - * This vector dimensions is a one-dimensional array of size rank specifying - * the size of each dimension of the dataset. + * The vector `dimensions` is a one-dimensional array of size rank + * specifying the size of each dimension of the dataset. */ std::vector dimensions; /** - * HDF5 dataspace identifier + * HDF5 dataspace identifier. */ std::shared_ptr dataspace; diff --git a/source/base/hdf5.cc b/source/base/hdf5.cc index f69c268581..c0ad42de5a 100644 --- a/source/base/hdf5.cc +++ b/source/base/hdf5.cc @@ -1213,19 +1213,6 @@ namespace HDF5 - template <> - H5D_mpio_actual_io_mode_t - DataSet::get_io_mode() - { - Assert(query_io_mode, - ExcMessage( - "query_io_mode should be true in order to use get_io_mode")); - return io_mode; - } - - - - template <> std::string DataSet::get_io_mode() { @@ -1260,20 +1247,17 @@ namespace HDF5 - template <> - uint32_t - DataSet::get_local_no_collective_cause() + H5D_mpio_actual_io_mode_t + DataSet::get_io_mode_as_hdf5_type() { - Assert( - query_io_mode, - ExcMessage( - "query_io_mode should be true in order to use get_local_no_collective_cause()")); - return local_no_collective_cause; + Assert(query_io_mode, + ExcMessage( + "query_io_mode should be true in order to use get_io_mode")); + return io_mode; } - template <> std::string DataSet::get_local_no_collective_cause() { @@ -1286,20 +1270,18 @@ namespace HDF5 - template <> uint32_t - DataSet::get_global_no_collective_cause() + DataSet::get_local_no_collective_cause_as_hdf5_type() { Assert( query_io_mode, ExcMessage( - "query_io_mode should be true in order to use get_global_no_collective_cause()")); - return global_no_collective_cause; + "query_io_mode should be true in order to use get_local_no_collective_cause()")); + return local_no_collective_cause; } - template <> std::string DataSet::get_global_no_collective_cause() { @@ -1312,6 +1294,17 @@ namespace HDF5 + uint32_t + DataSet::get_global_no_collective_cause_as_hdf5_type() + { + Assert( + query_io_mode, + ExcMessage( + "query_io_mode should be true in order to use get_global_no_collective_cause()")); + return global_no_collective_cause; + } + + bool DataSet::get_query_io_mode() const { diff --git a/tests/base/hdf5_03.cc b/tests/base/hdf5_03.cc index b15e4e48cb..e1ded2df77 100644 --- a/tests/base/hdf5_03.cc +++ b/tests/base/hdf5_03.cc @@ -231,17 +231,14 @@ write_test(HDF5::Group & root_group, << " (Write): " << container_sum(data) << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " << dataset.template get_io_mode() - << std::endl; + << " (Write): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_local_no_collective_cause() + << " (Write): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_global_no_collective_cause() + << " (Write): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -316,17 +313,14 @@ write_test(HDF5::Group & root_group, << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " << dataset.template get_io_mode() - << std::endl; + << " (Write): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_local_no_collective_cause() + << " (Write): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_global_no_collective_cause() + << " (Write): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -383,17 +377,14 @@ write_test(HDF5::Group & root_group, << " (Write): " << container_sum(data) << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " << dataset.template get_io_mode() - << std::endl; + << " (Write): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_local_no_collective_cause() + << " (Write): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_global_no_collective_cause() + << " (Write): " << dataset.get_global_no_collective_cause() << std::endl; } } @@ -478,17 +469,14 @@ write_test(HDF5::Group & root_group, << " (Write): " << container_sum(hyperslab_data_b) << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " << dataset.template get_io_mode() - << std::endl; + << " (Write): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_local_no_collective_cause() + << " (Write): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_global_no_collective_cause() + << " (Write): " << dataset.get_global_no_collective_cause() << std::endl; } } @@ -563,17 +551,14 @@ read_test(HDF5::Group root_group, << " (Read): " << container_sum(data) << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -597,17 +582,14 @@ read_test(HDF5::Group root_group, << " (Read): " << container_sum(data) << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -627,17 +609,14 @@ read_test(HDF5::Group root_group, << data_a[2] << ", " << data_a[3] << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; } } @@ -666,17 +645,14 @@ read_test(HDF5::Group root_group, << " (Read): " << container_sum(data) << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; } } @@ -701,17 +677,14 @@ read_test(HDF5::Group root_group, << " (Read): " << container_sum(data) << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -726,17 +699,14 @@ read_test(HDF5::Group root_group, << " (Read): " << container_sum(data_a) << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -766,17 +736,14 @@ read_test(HDF5::Group root_group, << " (Read): " << container_sum(data_b) << std::endl; pcout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; pcout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() << std::endl; pcout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; } } diff --git a/tests/base/hdf5_04.cc b/tests/base/hdf5_04.cc index 9b329d4217..b73992348c 100644 --- a/tests/base/hdf5_04.cc +++ b/tests/base/hdf5_04.cc @@ -221,17 +221,14 @@ write_test(HDF5::Group & root_group, << " (Write): " << container_sum(data) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " << dataset.template get_io_mode() - << std::endl; + << " (Write): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_local_no_collective_cause() + << " (Write): " << dataset.get_local_no_collective_cause() << std::endl; std::cout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_global_no_collective_cause() + << " (Write): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -293,17 +290,14 @@ write_test(HDF5::Group & root_group, << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " << dataset.template get_io_mode() - << std::endl; + << " (Write): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_local_no_collective_cause() + << " (Write): " << dataset.get_local_no_collective_cause() << std::endl; std::cout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_global_no_collective_cause() + << " (Write): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -346,20 +340,15 @@ write_test(HDF5::Group & root_group, << " (Write): " << container_sum(data) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " << dataset.template get_io_mode() + << " (Write): " << dataset.get_io_mode() << std::endl; + std::cout << "Local no collective cause " + dataset_name << " " + << container_name << "<" << type_name << ">" + << " (Write): " << dataset.get_local_no_collective_cause() + << std::endl; + std::cout << "Global no collective cause " + dataset_name << " " + << container_name << "<" << type_name << ">" + << " (Write): " << dataset.get_global_no_collective_cause() << std::endl; - std::cout - << "Local no collective cause " + dataset_name << " " - << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_local_no_collective_cause() - << std::endl; - std::cout - << "Global no collective cause " + dataset_name << " " - << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_global_no_collective_cause() - << std::endl; } } @@ -426,17 +415,14 @@ write_test(HDF5::Group & root_group, << " (Write): " << container_sum(hyperslab_data_b) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " << dataset.template get_io_mode() - << std::endl; + << " (Write): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_local_no_collective_cause() + << " (Write): " << dataset.get_local_no_collective_cause() << std::endl; std::cout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Write): " - << dataset.template get_global_no_collective_cause() + << " (Write): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -519,17 +505,14 @@ read_test(HDF5::Group root_group) << " (Read): " << container_sum(data) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() << std::endl; std::cout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; } @@ -553,19 +536,15 @@ read_test(HDF5::Group root_group) << " (Read): " << container_sum(data) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() + << std::endl; + std::cout << "Global no collective cause " + dataset_name << " " + << container_name << "<" << type_name << ">" + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; - std::cout - << "Global no collective cause " + dataset_name << " " << container_name - << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() - << std::endl; } { @@ -584,19 +563,15 @@ read_test(HDF5::Group root_group) << data_a[2] << ", " << data_a[3] << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() + << std::endl; + std::cout << "Global no collective cause " + dataset_name << " " + << container_name << "<" << type_name << ">" + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; - std::cout - << "Global no collective cause " + dataset_name << " " << container_name - << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() - << std::endl; } } @@ -624,20 +599,15 @@ read_test(HDF5::Group root_group) << " (Read): " << container_sum(data) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() + << " (Read): " << dataset.get_io_mode() << std::endl; + std::cout << "Local no collective cause " + dataset_name << " " + << container_name << "<" << type_name << ">" + << " (Read): " << dataset.get_local_no_collective_cause() + << std::endl; + std::cout << "Global no collective cause " + dataset_name << " " + << container_name << "<" << type_name << ">" + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; - std::cout - << "Local no collective cause " + dataset_name << " " - << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() - << std::endl; - std::cout - << "Global no collective cause " + dataset_name << " " - << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() - << std::endl; } } @@ -661,19 +631,15 @@ read_test(HDF5::Group root_group) << " (Read): " << container_sum(data) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() + << std::endl; + std::cout << "Global no collective cause " + dataset_name << " " + << container_name << "<" << type_name << ">" + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; - std::cout - << "Global no collective cause " + dataset_name << " " << container_name - << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() - << std::endl; } { @@ -687,19 +653,15 @@ read_test(HDF5::Group root_group) << " (Read): " << container_sum(data_a) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() + << std::endl; + std::cout << "Global no collective cause " + dataset_name << " " + << container_name << "<" << type_name << ">" + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; - std::cout - << "Global no collective cause " + dataset_name << " " << container_name - << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() - << std::endl; } { @@ -713,19 +675,15 @@ read_test(HDF5::Group root_group) << " (Read): " << container_sum(data_b) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() + << std::endl; + std::cout << "Global no collective cause " + dataset_name << " " + << container_name << "<" << type_name << ">" + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; - std::cout - << "Global no collective cause " + dataset_name << " " << container_name - << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() - << std::endl; } } @@ -748,17 +706,14 @@ read_test(HDF5::Group root_group) << " (Read): " << container_sum(data) << std::endl; std::cout << "IO mode " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " << dataset.template get_io_mode() - << std::endl; + << " (Read): " << dataset.get_io_mode() << std::endl; std::cout << "Local no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_local_no_collective_cause() + << " (Read): " << dataset.get_local_no_collective_cause() << std::endl; std::cout << "Global no collective cause " + dataset_name << " " << container_name << "<" << type_name << ">" - << " (Read): " - << dataset.template get_global_no_collective_cause() + << " (Read): " << dataset.get_global_no_collective_cause() << std::endl; } } -- 2.39.5