From e4c4b455b5da4a2a372f79704ea8a2c0c0742566 Mon Sep 17 00:00:00 2001 From: Elena Pourmal Date: Tue, 31 Oct 2000 12:54:45 -0500 Subject: [svn-r2772] Purpose: Maintenance Description: Made F90 source directory to be in sync with the C source Platforms tested: modi4 (O2K) --- fortran/src/H5FDmpiof.c | 153 +++++++++++++++++++++++++++++++++++++++++ fortran/src/H5FDmpioff.f90 | 57 +++++++++++++++ fortran/src/H5Pf_parallel.c | 153 ----------------------------------------- fortran/src/H5Pff_parallel.f90 | 57 --------------- fortran/src/HDF5_parallel.f90 | 15 ---- fortran/src/HDF5mpio.f90 | 15 ++++ fortran/src/Makefile.in | 4 +- 7 files changed, 227 insertions(+), 227 deletions(-) create mode 100644 fortran/src/H5FDmpiof.c create mode 100644 fortran/src/H5FDmpioff.f90 delete mode 100644 fortran/src/H5Pf_parallel.c delete mode 100644 fortran/src/H5Pff_parallel.f90 delete mode 100644 fortran/src/HDF5_parallel.f90 create mode 100644 fortran/src/HDF5mpio.f90 diff --git a/fortran/src/H5FDmpiof.c b/fortran/src/H5FDmpiof.c new file mode 100644 index 0000000..395ae03 --- /dev/null +++ b/fortran/src/H5FDmpiof.c @@ -0,0 +1,153 @@ +#include "H5f90.h" +#include + +/*---------------------------------------------------------------------------- + * Name: h5pset_fapl_mpio_c + * Purpose: Call H5Pset_fapl_mpio to set mode for parallel I/O and the user + * supplied communicator and info object + * Inputs: prp_id - property list identifier + * comm - MPI communicator + * info - MPI info object + * Returns: 0 on success, -1 on failure + * Programmer: Elena Pourmal + * Thursday, October 26, 2000 + * Modifications: + *---------------------------------------------------------------------------*/ +int_f +nh5pset_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info) +{ + int ret_value = -1; + hid_t c_prp_id; + herr_t ret; + MPI_Comm c_comm; + MPI_Info c_info; + c_comm = (MPI_Comm) *comm; + c_info = (MPI_Info) *info; + + /* + * Call H5Pset_mpi function. + */ + c_prp_id = *prp_id; + ret = H5Pset_fapl_mpio(c_prp_id, c_comm, c_info); + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + +/*---------------------------------------------------------------------------- + * Name: h5pget_fapl_mpio_c + * Purpose: Call H5Pget_fapl_mpio to retrieve communicator and info object + * Inputs: prp_id - property list identifier + * comm - buffer to return MPI communicator + * info - buffer to return MPI info object + * Returns: 0 on success, -1 on failure + * Programmer: Elena Pourmal + * Thursday, October 26, 2000 + * Modifications: + *---------------------------------------------------------------------------*/ +int_f +nh5pget_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info) +{ + int ret_value = -1; + hid_t c_prp_id; + herr_t ret; + MPI_Comm c_comm; + MPI_Info c_info; + + /* + * Call H5Pget_mpi function. + */ + c_prp_id = *prp_id; + ret = H5Pget_fapl_mpio(c_prp_id, &c_comm, &c_info); + if (ret < 0) return ret_value; + *comm = (int_f) c_comm; + *info = (int_f) c_info; + ret_value = 0; + return ret_value; +} +/*---------------------------------------------------------------------------- + * Name: h5pset_dxpl_mpio_c + * Purpose: Call H5Pset_dxpl_mpio to set transfer mode of the dataset + * trasfer property list + * Inputs: prp_id - property list identifier + * data_xfer_mode - transfer mode + * Returns: 0 on success, -1 on failure + * Programmer: Elena Pourmal + * Thursday, October 26, 2000 + * Modifications: + *---------------------------------------------------------------------------*/ +int_f +nh5pset_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode) +{ + int ret_value = -1; + hid_t c_prp_id; + herr_t ret; + H5FD_mpio_xfer_t c_data_xfer_mode; + int CASE; + CASE = *data_xfer_mode; + switch (CASE) { + + case H5FD_MPIO_INDEPENDENT_F: + c_data_xfer_mode = H5FD_MPIO_INDEPENDENT; + break; + + case H5FD_MPIO_COLLECTIVE_F: + c_data_xfer_mode = H5FD_MPIO_COLLECTIVE; + break; + default: + return ret_value; + } + /* + * Call H5Pset_dxpl_mpio function. + */ + c_prp_id = *prp_id; + ret = H5Pset_dxpl_mpio(c_prp_id, c_data_xfer_mode); + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + +/*---------------------------------------------------------------------------- + * Name: h5pget_dxpl_mpio_c + * Purpose: Call H5Pget_dxpl_mpio to get transfer mode of the dataset + * trasfer property list + * Inputs: prp_id - property list identifier + * data_xfer_mode - buffer to retrieve transfer mode + * Returns: 0 on success, -1 on failure + * Programmer: Elena Pourmal + * Thursday, June 15, 2000 + * Modifications: + *---------------------------------------------------------------------------*/ +int_f +nh5pget_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode) +{ + int ret_value = -1; + hid_t c_prp_id; + herr_t ret; + H5FD_mpio_xfer_t c_data_xfer_mode; + int CASE; + + /* + * Call H5Pget_xfer function. + */ + c_prp_id = *prp_id; + ret = H5Pget_dxpl_mpio(c_prp_id, &c_data_xfer_mode); + if (ret < 0) return ret_value; + + CASE = c_data_xfer_mode; + switch (CASE) { + + case H5FD_MPIO_INDEPENDENT: + *data_xfer_mode = H5FD_MPIO_INDEPENDENT_F; + break; + + case H5FD_MPIO_COLLECTIVE: + *data_xfer_mode = H5FD_MPIO_COLLECTIVE_F; + break; + + default: + return ret_value; + } + ret_value = 0; + return ret_value; +} diff --git a/fortran/src/H5FDmpioff.f90 b/fortran/src/H5FDmpioff.f90 new file mode 100644 index 0000000..491551e --- /dev/null +++ b/fortran/src/H5FDmpioff.f90 @@ -0,0 +1,57 @@ +! +! This file contains Fortran90 interfaces for H5P functions needed by || MPI programs. +! + MODULE H5FDMPIO + USE H5FORTRAN_TYPES + USE H5FORTRAN_FLAGS + CONTAINS + SUBROUTINE h5pset_fapl_mpio_f(prp_id, comm, info, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + INTEGER, INTENT(IN) :: comm ! MPI communicator to be used for file open + ! as defined in MPI_FILE_OPEN of MPI-2 + INTEGER, INTENT(IN) :: info ! MPI info object to be used for file open + ! as defined in MPI_FILE_OPEN of MPI-2 + INTEGER, INTENT(OUT) :: hdferr ! Error code + + INTEGER, EXTERNAL :: h5pset_fapl_mpio_c + hdferr = h5pset_fapl_mpio_c(prp_id, comm, info) + END SUBROUTINE h5pset_fapl_mpio_f + + SUBROUTINE h5pget_fapl_mpio_f(prp_id, comm, info, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + INTEGER, INTENT(OUT) :: comm ! buffer to return communicator + INTEGER, INTENT(IN) :: info ! buffer to return info object + ! as defined in MPI_FILE_OPEN of MPI-2 + INTEGER, INTENT(OUT) :: hdferr ! Error code + + INTEGER, EXTERNAL :: h5pget_fapl_mpio_c + hdferr = h5pget_fapl_mpio_c(prp_id, comm, info) + END SUBROUTINE h5pget_fapl_mpio_f + + SUBROUTINE h5pset_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + INTEGER, INTENT(IN) :: data_xfer_mode ! Data transfer mode. Possible values are: + ! H5FD_MPIO_INDEPENDENT_F (0) + ! H5FD_MPIO_COLLECTIVE_F (1) + INTEGER, INTENT(OUT) :: hdferr ! Error code + + INTEGER, EXTERNAL :: h5pset_dxpl_mpio_c + hdferr = h5pset_dxpl_mpio_c(prp_id, data_xfer_mode) + END SUBROUTINE h5pset_dxpl_mpio_f + + SUBROUTINE h5pget_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + INTEGER, INTENT(OUT) :: data_xfer_mode ! Data transfer mode. Possible values are: + ! H5FD_MPIO_INDEPENDENT_F (0) + ! H5FD_MPIO_COLLECTIVE_F (1) + INTEGER, INTENT(OUT) :: hdferr ! Error code + + INTEGER, EXTERNAL :: h5pget_dxpl_mpio_c + hdferr = h5pget_dxpl_mpio_c(prp_id, data_xfer_mode) + END SUBROUTINE h5pget_dxpl_mpio_f + + END MODULE H5FDMPIO diff --git a/fortran/src/H5Pf_parallel.c b/fortran/src/H5Pf_parallel.c deleted file mode 100644 index 395ae03..0000000 --- a/fortran/src/H5Pf_parallel.c +++ /dev/null @@ -1,153 +0,0 @@ -#include "H5f90.h" -#include - -/*---------------------------------------------------------------------------- - * Name: h5pset_fapl_mpio_c - * Purpose: Call H5Pset_fapl_mpio to set mode for parallel I/O and the user - * supplied communicator and info object - * Inputs: prp_id - property list identifier - * comm - MPI communicator - * info - MPI info object - * Returns: 0 on success, -1 on failure - * Programmer: Elena Pourmal - * Thursday, October 26, 2000 - * Modifications: - *---------------------------------------------------------------------------*/ -int_f -nh5pset_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info) -{ - int ret_value = -1; - hid_t c_prp_id; - herr_t ret; - MPI_Comm c_comm; - MPI_Info c_info; - c_comm = (MPI_Comm) *comm; - c_info = (MPI_Info) *info; - - /* - * Call H5Pset_mpi function. - */ - c_prp_id = *prp_id; - ret = H5Pset_fapl_mpio(c_prp_id, c_comm, c_info); - if (ret < 0) return ret_value; - ret_value = 0; - return ret_value; -} - -/*---------------------------------------------------------------------------- - * Name: h5pget_fapl_mpio_c - * Purpose: Call H5Pget_fapl_mpio to retrieve communicator and info object - * Inputs: prp_id - property list identifier - * comm - buffer to return MPI communicator - * info - buffer to return MPI info object - * Returns: 0 on success, -1 on failure - * Programmer: Elena Pourmal - * Thursday, October 26, 2000 - * Modifications: - *---------------------------------------------------------------------------*/ -int_f -nh5pget_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info) -{ - int ret_value = -1; - hid_t c_prp_id; - herr_t ret; - MPI_Comm c_comm; - MPI_Info c_info; - - /* - * Call H5Pget_mpi function. - */ - c_prp_id = *prp_id; - ret = H5Pget_fapl_mpio(c_prp_id, &c_comm, &c_info); - if (ret < 0) return ret_value; - *comm = (int_f) c_comm; - *info = (int_f) c_info; - ret_value = 0; - return ret_value; -} -/*---------------------------------------------------------------------------- - * Name: h5pset_dxpl_mpio_c - * Purpose: Call H5Pset_dxpl_mpio to set transfer mode of the dataset - * trasfer property list - * Inputs: prp_id - property list identifier - * data_xfer_mode - transfer mode - * Returns: 0 on success, -1 on failure - * Programmer: Elena Pourmal - * Thursday, October 26, 2000 - * Modifications: - *---------------------------------------------------------------------------*/ -int_f -nh5pset_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode) -{ - int ret_value = -1; - hid_t c_prp_id; - herr_t ret; - H5FD_mpio_xfer_t c_data_xfer_mode; - int CASE; - CASE = *data_xfer_mode; - switch (CASE) { - - case H5FD_MPIO_INDEPENDENT_F: - c_data_xfer_mode = H5FD_MPIO_INDEPENDENT; - break; - - case H5FD_MPIO_COLLECTIVE_F: - c_data_xfer_mode = H5FD_MPIO_COLLECTIVE; - break; - default: - return ret_value; - } - /* - * Call H5Pset_dxpl_mpio function. - */ - c_prp_id = *prp_id; - ret = H5Pset_dxpl_mpio(c_prp_id, c_data_xfer_mode); - if (ret < 0) return ret_value; - ret_value = 0; - return ret_value; -} - -/*---------------------------------------------------------------------------- - * Name: h5pget_dxpl_mpio_c - * Purpose: Call H5Pget_dxpl_mpio to get transfer mode of the dataset - * trasfer property list - * Inputs: prp_id - property list identifier - * data_xfer_mode - buffer to retrieve transfer mode - * Returns: 0 on success, -1 on failure - * Programmer: Elena Pourmal - * Thursday, June 15, 2000 - * Modifications: - *---------------------------------------------------------------------------*/ -int_f -nh5pget_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode) -{ - int ret_value = -1; - hid_t c_prp_id; - herr_t ret; - H5FD_mpio_xfer_t c_data_xfer_mode; - int CASE; - - /* - * Call H5Pget_xfer function. - */ - c_prp_id = *prp_id; - ret = H5Pget_dxpl_mpio(c_prp_id, &c_data_xfer_mode); - if (ret < 0) return ret_value; - - CASE = c_data_xfer_mode; - switch (CASE) { - - case H5FD_MPIO_INDEPENDENT: - *data_xfer_mode = H5FD_MPIO_INDEPENDENT_F; - break; - - case H5FD_MPIO_COLLECTIVE: - *data_xfer_mode = H5FD_MPIO_COLLECTIVE_F; - break; - - default: - return ret_value; - } - ret_value = 0; - return ret_value; -} diff --git a/fortran/src/H5Pff_parallel.f90 b/fortran/src/H5Pff_parallel.f90 deleted file mode 100644 index d5e60fc..0000000 --- a/fortran/src/H5Pff_parallel.f90 +++ /dev/null @@ -1,57 +0,0 @@ -! -! This file contains Fortran90 interfaces for H5P functions needed by || MPI programs. -! - MODULE H5P_parallel - USE H5FORTRAN_TYPES - USE H5FORTRAN_FLAGS - CONTAINS - SUBROUTINE h5pset_fapl_mpio_f(prp_id, comm, info, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: comm ! MPI communicator to be used for file open - ! as defined in MPI_FILE_OPEN of MPI-2 - INTEGER, INTENT(IN) :: info ! MPI info object to be used for file open - ! as defined in MPI_FILE_OPEN of MPI-2 - INTEGER, INTENT(OUT) :: hdferr ! Error code - - INTEGER, EXTERNAL :: h5pset_fapl_mpio_c - hdferr = h5pset_fapl_mpio_c(prp_id, comm, info) - END SUBROUTINE h5pset_fapl_mpio_f - - SUBROUTINE h5pget_fapl_mpio_f(prp_id, comm, info, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: comm ! buffer to return communicator - INTEGER, INTENT(IN) :: info ! buffer to return info object - ! as defined in MPI_FILE_OPEN of MPI-2 - INTEGER, INTENT(OUT) :: hdferr ! Error code - - INTEGER, EXTERNAL :: h5pget_fapl_mpio_c - hdferr = h5pget_fapl_mpio_c(prp_id, comm, info) - END SUBROUTINE h5pget_fapl_mpio_f - - SUBROUTINE h5pset_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: data_xfer_mode ! Data transfer mode. Possible values are: - ! H5FD_MPIO_INDEPENDENT_F (0) - ! H5FD_MPIO_COLLECTIVE_F (1) - INTEGER, INTENT(OUT) :: hdferr ! Error code - - INTEGER, EXTERNAL :: h5pset_dxpl_mpio_c - hdferr = h5pset_dxpl_mpio_c(prp_id, data_xfer_mode) - END SUBROUTINE h5pset_dxpl_mpio_f - - SUBROUTINE h5pget_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: data_xfer_mode ! Data transfer mode. Possible values are: - ! H5FD_MPIO_INDEPENDENT_F (0) - ! H5FD_MPIO_COLLECTIVE_F (1) - INTEGER, INTENT(OUT) :: hdferr ! Error code - - INTEGER, EXTERNAL :: h5pget_dxpl_mpio_c - hdferr = h5pget_dxpl_mpio_c(prp_id, data_xfer_mode) - END SUBROUTINE h5pget_dxpl_mpio_f - - END MODULE H5P_parallel diff --git a/fortran/src/HDF5_parallel.f90 b/fortran/src/HDF5_parallel.f90 deleted file mode 100644 index d44ba17..0000000 --- a/fortran/src/HDF5_parallel.f90 +++ /dev/null @@ -1,15 +0,0 @@ - - MODULE HDF5 - USE H5GLOBAL - USE H5F - USE H5E - USE H5G - USE H5I - USE H5S - USE H5D - USE H5A - USE H5T - USE H5P - USE H5P_parallel - USE H5R - END MODULE HDF5 diff --git a/fortran/src/HDF5mpio.f90 b/fortran/src/HDF5mpio.f90 new file mode 100644 index 0000000..31bc9a5 --- /dev/null +++ b/fortran/src/HDF5mpio.f90 @@ -0,0 +1,15 @@ + + MODULE HDF5 + USE H5GLOBAL + USE H5F + USE H5E + USE H5G + USE H5I + USE H5S + USE H5D + USE H5A + USE H5T + USE H5P + USE H5FDMPIO + USE H5R + END MODULE HDF5 diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index c0290de..ae719c3 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -22,8 +22,8 @@ LIB=libhdf5_fortran.la DISTCLEAN=H5fortran_types.f90 ## Source and object files for the library -CPAR_SRC=H5Pf_parallel.c -FPAR_SRC=H5Pff_parallel.f90 HDF5_parallel.f90 +CPAR_SRC=H5FDmpiof.c +FPAR_SRC=H5FDmpioff.f90 HDF5mpio.f90 ADD_PARALLEL_FILES=@ADD_PARALLEL_FILES@ CPARALLEL=${ADD_PARALLEL_FILES:yes=$(CPAR_SRC)} -- cgit v0.12