summaryrefslogtreecommitdiffstats
path: root/fortran/testpar
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2012-09-27 15:58:54 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2012-09-27 15:58:54 (GMT)
commitdbf542c0080153740c1d7da9b5a812ef8c7f4e02 (patch)
tree305895f9e59a604dc53f91935eae63928dcbcf87 /fortran/testpar
parent0ae06ebea6cd1b2d6d8ae01bf4612db877cd8a95 (diff)
downloadhdf5-dbf542c0080153740c1d7da9b5a812ef8c7f4e02.zip
hdf5-dbf542c0080153740c1d7da9b5a812ef8c7f4e02.tar.gz
hdf5-dbf542c0080153740c1d7da9b5a812ef8c7f4e02.tar.bz2
[svn-r22822] Fix for HDFFV-7658: Add FORTRAN interface for H5Pget_mpio_actual_io_mode API routine
Test: jam (gnu)
Diffstat (limited to 'fortran/testpar')
-rw-r--r--fortran/testpar/hyper.f9019
1 files changed, 19 insertions, 0 deletions
diff --git a/fortran/testpar/hyper.f90 b/fortran/testpar/hyper.f90
index 1d65ae1..1a580ca 100644
--- a/fortran/testpar/hyper.f90
+++ b/fortran/testpar/hyper.f90
@@ -50,6 +50,7 @@ SUBROUTINE hyper(length,do_collective,do_chunk, mpi_size, mpi_rank, nerrors)
INTEGER :: icount ! number of elements in array
CHARACTER(len=80) :: filename ! filename
INTEGER :: i
+ INTEGER :: actual_io_mode ! The type of I/O performed by this process
!//////////////////////////////////////////////////////////
! initialize the array data between the processes (3)
@@ -180,6 +181,24 @@ SUBROUTINE hyper(length,do_collective,do_chunk, mpi_size, mpi_rank, nerrors)
CALL check("h5dwrite_f", hdferror, nerrors)
+ ! Check h5pget_mpio_actual_io_mode_f function
+ CALL h5pget_mpio_actual_io_mode_f(dxpl_id, actual_io_mode, hdferror)
+ CALL check("h5pget_mpio_actual_io_mode_f", hdferror, nerrors)
+
+ IF(do_collective.AND.do_chunk)THEN
+ IF(actual_io_mode.NE.H5D_MPIO_CHUNK_COLLECTIVE_F)THEN
+ CALL check("h5pget_mpio_actual_io_mode_f", -1, nerrors)
+ ENDIF
+ ELSEIF(.NOT.do_collective)THEN
+ IF(actual_io_mode.NE.H5D_MPIO_NO_COLLECTIVE_F)THEN
+ CALL check("h5pget_mpio_actual_io_mode_f", -1, nerrors)
+ ENDIF
+ ELSEIF( do_collective.AND.(.NOT.do_chunk))THEN
+ IF(actual_io_mode.NE.H5D_MPIO_CONTIG_COLLECTIVE_F)THEN
+ CALL check("h5pget_mpio_actual_io_mode_f", -1, nerrors)
+ ENDIF
+ ENDIF
+
!//////////////////////////////////////////////////////////
! close HDF5 I/O
!//////////////////////////////////////////////////////////