diff --git a/ompi/mpi/fortran/mpif-h/file_iread_all_f.c b/ompi/mpi/fortran/mpif-h/file_iread_all_f.c new file mode 100644 index 0000000000..9ed3701362 --- /dev/null +++ b/ompi/mpi/fortran/mpif-h/file_iread_all_f.c @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2005 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "ompi/mpi/fortran/mpif-h/bindings.h" +#include "ompi/mpi/fortran/base/constants.h" + +#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER +#pragma weak PMPI_FILE_IREAD_ALL = ompi_file_iread_all_f +#pragma weak pmpi_file_iread_all = ompi_file_iread_all_f +#pragma weak pmpi_file_iread_all_ = ompi_file_iread_all_f +#pragma weak pmpi_file_iread_all__ = ompi_file_iread_all_f + +#pragma weak PMPI_File_iread_all_f = ompi_file_iread_all_f +#pragma weak PMPI_File_iread_all_f08 = ompi_file_iread_all_f +#elif OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (PMPI_FILE_IREAD_ALL, + pmpi_file_iread_all, + pmpi_file_iread_all_, + pmpi_file_iread_all__, + pompi_file_iread_all_f, + (MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr), + (fh, buf, count, datatype, request, ierr) ) +#endif + +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_FILE_IREAD_ALL = ompi_file_iread_all_f +#pragma weak mpi_file_iread_all = ompi_file_iread_all_f +#pragma weak mpi_file_iread_all_ = ompi_file_iread_all_f +#pragma weak mpi_file_iread_all__ = ompi_file_iread_all_f + +#pragma weak MPI_File_iread_all_f = ompi_file_iread_all_f +#pragma weak MPI_File_iread_all_f08 = ompi_file_iread_all_f +#endif + +#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (MPI_FILE_IREAD_ALL, + mpi_file_iread_all, + mpi_file_iread_all_, + mpi_file_iread_all__, + ompi_file_iread_all_f, + (MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr), + (fh, buf, count, datatype, request, ierr) ) +#endif + + +#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS +#include "ompi/mpi/fortran/mpif-h/profile/defines.h" +#endif + +void ompi_file_iread_all_f(MPI_Fint *fh, char *buf, MPI_Fint *count, + MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr) +{ + int c_ierr; + MPI_File c_fh = MPI_File_f2c(*fh); + MPI_Datatype c_type = MPI_Type_f2c(*datatype); + MPI_Request c_request; + + c_ierr = MPI_File_iread_all(c_fh, OMPI_F2C_BOTTOM(buf), + OMPI_FINT_2_INT(*count), + c_type, &c_request); + if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); + + if (MPI_SUCCESS == c_ierr) { + *request = MPI_Request_c2f(c_request); + } +} diff --git a/ompi/mpi/fortran/mpif-h/file_iread_at_all_f.c b/ompi/mpi/fortran/mpif-h/file_iread_at_all_f.c new file mode 100644 index 0000000000..17a8636385 --- /dev/null +++ b/ompi/mpi/fortran/mpif-h/file_iread_at_all_f.c @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2005 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "ompi/mpi/fortran/mpif-h/bindings.h" +#include "ompi/mpi/fortran/base/constants.h" + +#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER +#pragma weak PMPI_FILE_IREAD_AT_ALL = ompi_file_iread_at_all_f +#pragma weak pmpi_file_iread_at_all = ompi_file_iread_at_all_f +#pragma weak pmpi_file_iread_at_all_ = ompi_file_iread_at_all_f +#pragma weak pmpi_file_iread_at_all__ = ompi_file_iread_at_all_f + +#pragma weak PMPI_File_iread_at_all_f = ompi_file_iread_at_all_f +#pragma weak PMPI_File_iread_at_all_f08 = ompi_file_iread_at_all_f +#elif OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (PMPI_FILE_IREAD_AT_ALL, + pmpi_file_iread_at_all, + pmpi_file_iread_at_all_, + pmpi_file_iread_at_all__, + pompi_file_iread_at_all_f, + (MPI_Fint *fh, MPI_Offset *offset, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr), + (fh, offset, buf, count, datatype, request, ierr) ) +#endif + +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_FILE_IREAD_AT_ALL = ompi_file_iread_at_all_f +#pragma weak mpi_file_iread_at_all = ompi_file_iread_at_all_f +#pragma weak mpi_file_iread_at_all_ = ompi_file_iread_at_all_f +#pragma weak mpi_file_iread_at_all__ = ompi_file_iread_at_all_f + +#pragma weak MPI_File_iread_at_all_f = ompi_file_iread_at_all_f +#pragma weak MPI_File_iread_at_all_f08 = ompi_file_iread_at_all_f +#endif + +#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER + OMPI_GENERATE_F77_BINDINGS (MPI_FILE_IREAD_AT_ALL, + mpi_file_iread_at_all, + mpi_file_iread_at_all_, + mpi_file_iread_at_all__, + ompi_file_iread_at_all_f, + (MPI_Fint *fh, MPI_Offset *offset, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr), + (fh, offset, buf, count, datatype, request, ierr) ) +#endif + + +#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS +#include "ompi/mpi/fortran/mpif-h/profile/defines.h" +#endif + +void ompi_file_iread_at_all_f(MPI_Fint *fh, MPI_Offset *offset, + char *buf, MPI_Fint *count, + MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr) +{ + int c_ierr; + MPI_File c_fh = MPI_File_f2c(*fh); + MPI_Datatype c_type = MPI_Type_f2c(*datatype); + MPI_Request c_request; + + c_ierr = MPI_File_iread_at_all(c_fh, (MPI_Offset) *offset, + OMPI_F2C_BOTTOM(buf), + OMPI_FINT_2_INT(*count), + c_type, + &c_request); + if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); + + if (MPI_SUCCESS == c_ierr) { + *request = MPI_Request_c2f(c_request); + } +} diff --git a/ompi/mpi/fortran/mpif-h/file_iwrite_all_f.c b/ompi/mpi/fortran/mpif-h/file_iwrite_all_f.c new file mode 100644 index 0000000000..cd515de163 --- /dev/null +++ b/ompi/mpi/fortran/mpif-h/file_iwrite_all_f.c @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2005 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "ompi/mpi/fortran/mpif-h/bindings.h" +#include "ompi/mpi/fortran/base/constants.h" + +#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER +#pragma weak PMPI_FILE_IWRITE_ALL = ompi_file_iwrite_all_f +#pragma weak pmpi_file_iwrite_all = ompi_file_iwrite_all_f +#pragma weak pmpi_file_iwrite_all_ = ompi_file_iwrite_all_f +#pragma weak pmpi_file_iwrite_all__ = ompi_file_iwrite_all_f + +#pragma weak PMPI_File_iwrite_all_f = ompi_file_iwrite_all_f +#pragma weak PMPI_File_iwrite_all_f08 = ompi_file_iwrite_all_f +#elif OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (PMPI_FILE_IWRITE_ALL, + pmpi_file_iwrite_all, + pmpi_file_iwrite_all_, + pmpi_file_iwrite_all__, + pompi_file_iwrite_all_f, + (MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr), + (fh, buf, count, datatype, request, ierr) ) +#endif + +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_FILE_IWRITE_ALL = ompi_file_iwrite_all_f +#pragma weak mpi_file_iwrite_all = ompi_file_iwrite_all_f +#pragma weak mpi_file_iwrite_all_ = ompi_file_iwrite_all_f +#pragma weak mpi_file_iwrite_all__ = ompi_file_iwrite_all_f + +#pragma weak MPI_File_iwrite_all_f = ompi_file_iwrite_all_f +#pragma weak MPI_File_iwrite_all_f08 = ompi_file_iwrite_all_f +#endif + +#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (MPI_FILE_IWRITE_ALL, + mpi_file_iwrite_all, + mpi_file_iwrite_all_, + mpi_file_iwrite_all__, + ompi_file_iwrite_all_f, + (MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr), + (fh, buf, count, datatype, request, ierr) ) +#endif + + +#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS +#include "ompi/mpi/fortran/mpif-h/profile/defines.h" +#endif + +void ompi_file_iwrite_all_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr) +{ + int c_ierr; + MPI_File c_fh = MPI_File_f2c(*fh); + MPI_Datatype c_type = MPI_Type_f2c(*datatype); + MPI_Request c_request; + + c_ierr = MPI_File_iwrite_all(c_fh, OMPI_F2C_BOTTOM(buf), + OMPI_FINT_2_INT(*count), + c_type, &c_request); + if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); + + if (MPI_SUCCESS == c_ierr) { + *request = MPI_Request_c2f(c_request); + } +} diff --git a/ompi/mpi/fortran/mpif-h/file_iwrite_at_all_f.c b/ompi/mpi/fortran/mpif-h/file_iwrite_at_all_f.c new file mode 100644 index 0000000000..d4a252f553 --- /dev/null +++ b/ompi/mpi/fortran/mpif-h/file_iwrite_at_all_f.c @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2005 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "ompi/mpi/fortran/mpif-h/bindings.h" +#include "ompi/mpi/fortran/base/constants.h" + +#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER +#pragma weak PMPI_FILE_IWRITE_AT_ALL = ompi_file_iwrite_at_all_f +#pragma weak pmpi_file_iwrite_at_all = ompi_file_iwrite_at_all_f +#pragma weak pmpi_file_iwrite_at_all_ = ompi_file_iwrite_at_all_f +#pragma weak pmpi_file_iwrite_at_all__ = ompi_file_iwrite_at_all_f + +#pragma weak PMPI_File_iwrite_at_all_f = ompi_file_iwrite_at_all_f +#pragma weak PMPI_File_iwrite_at_all_f08 = ompi_file_iwrite_at_all_f +#elif OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (PMPI_FILE_IWRITE_AT_ALL, + pmpi_file_iwrite_at_all, + pmpi_file_iwrite_at_all_, + pmpi_file_iwrite_at_all__, + pompi_file_iwrite_at_all_f, + (MPI_Fint *fh, MPI_Offset *offset, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr), + (fh, offset, buf, count, datatype, request, ierr) ) +#endif + +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_FILE_IWRITE_AT_ALL = ompi_file_iwrite_at_all_f +#pragma weak mpi_file_iwrite_at_all = ompi_file_iwrite_at_all_f +#pragma weak mpi_file_iwrite_at_all_ = ompi_file_iwrite_at_all_f +#pragma weak mpi_file_iwrite_at_all__ = ompi_file_iwrite_at_all_f + +#pragma weak MPI_File_iwrite_at_all_f = ompi_file_iwrite_at_all_f +#pragma weak MPI_File_iwrite_at_all_f08 = ompi_file_iwrite_at_all_f +#endif + +#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (MPI_FILE_IWRITE_AT_ALL, + mpi_file_iwrite_at_all, + mpi_file_iwrite_at_all_, + mpi_file_iwrite_at_all__, + ompi_file_iwrite_at_all_f, + (MPI_Fint *fh, MPI_Offset *offset, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *request, MPI_Fint *ierr), + (fh, offset, buf, count, datatype, request, ierr) ) +#endif + + +#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS +#include "ompi/mpi/fortran/mpif-h/profile/defines.h" +#endif + +void ompi_file_iwrite_at_all_f(MPI_Fint *fh, MPI_Offset *offset, char *buf, + MPI_Fint *count, MPI_Fint *datatype, + MPI_Fint *request, MPI_Fint *ierr) +{ + int c_ierr; + MPI_File c_fh = MPI_File_f2c(*fh); + MPI_Datatype c_type = MPI_Type_f2c(*datatype); + MPI_Request c_request; + + c_ierr = MPI_File_iwrite_at_all(c_fh, (MPI_Offset) *offset, + OMPI_F2C_BOTTOM(buf), + OMPI_FINT_2_INT(*count), + c_type, &c_request); + if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); + + if (MPI_SUCCESS == c_ierr) { + *request = MPI_Request_c2f(c_request); + } +} diff --git a/ompi/mpi/fortran/use-mpi-f08/Makefile.am b/ompi/mpi/fortran/use-mpi-f08/Makefile.am index 8a894cdd00..de0fb10e9b 100644 --- a/ompi/mpi/fortran/use-mpi-f08/Makefile.am +++ b/ompi/mpi/fortran/use-mpi-f08/Makefile.am @@ -396,9 +396,13 @@ mpi_api_files += \ file_get_view_f08.F90 \ file_iread_at_f08.F90 \ file_iread_f08.F90 \ + file_iread_at_all_f08.F90 \ + file_iread_all_f08.F90 \ file_iread_shared_f08.F90 \ file_iwrite_at_f08.F90 \ file_iwrite_f08.F90 \ + file_iwrite_at_all_f08.F90 \ + file_iwrite_all_f08.F90 \ file_iwrite_shared_f08.F90 \ file_open_f08.F90 \ file_preallocate_f08.F90 \ diff --git a/ompi/mpi/fortran/use-mpi-f08/file_iread_all_f08.F90 b/ompi/mpi/fortran/use-mpi-f08/file_iread_all_f08.F90 new file mode 100644 index 0000000000..f280e911c3 --- /dev/null +++ b/ompi/mpi/fortran/use-mpi-f08/file_iread_all_f08.F90 @@ -0,0 +1,25 @@ +! -*- f90 -*- +! +! Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +! Copyright (c) 2009-2012 Los Alamos National Security, LLC. +! All Rights reserved. +! $COPYRIGHT$ + +#include "ompi/mpi/fortran/configure-fortran-output.h" + +subroutine MPI_File_iread_all_f08(fh,buf,count,datatype,request,ierror) + use :: mpi_f08_types, only : MPI_File, MPI_Datatype, MPI_Request + use :: mpi_f08, only : ompi_file_iread_all_f + implicit none + TYPE(MPI_File), INTENT(IN) :: fh + OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: buf + INTEGER, INTENT(IN) :: count + TYPE(MPI_Datatype), INTENT(IN) :: datatype + TYPE(MPI_Request), INTENT(OUT) :: request + INTEGER, OPTIONAL, INTENT(OUT) :: ierror + integer :: c_ierror + + call ompi_file_iread_all_f(fh%MPI_VAL,buf,count,datatype%MPI_VAL,request%MPI_VAL,c_ierror) + if (present(ierror)) ierror = c_ierror + +end subroutine MPI_File_iread_all_f08 diff --git a/ompi/mpi/fortran/use-mpi-f08/file_iread_at_all_f08.F90 b/ompi/mpi/fortran/use-mpi-f08/file_iread_at_all_f08.F90 new file mode 100644 index 0000000000..9cc7f317df --- /dev/null +++ b/ompi/mpi/fortran/use-mpi-f08/file_iread_at_all_f08.F90 @@ -0,0 +1,27 @@ +! -*- f90 -*- +! +! Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +! Copyright (c) 2009-2012 Los Alamos National Security, LLC. +! All Rights reserved. +! $COPYRIGHT$ + +#include "ompi/mpi/fortran/configure-fortran-output.h" + +subroutine MPI_File_iread_at_all_f08(fh,offset,buf,count,datatype,request,ierror) + use :: mpi_f08_types, only : MPI_File, MPI_Datatype, MPI_Request, MPI_OFFSET_KIND + use :: mpi_f08, only : ompi_file_iread_at_all_f + implicit none + TYPE(MPI_File), INTENT(IN) :: fh + INTEGER(MPI_OFFSET_KIND), INTENT(IN) :: offset + OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: buf + INTEGER, INTENT(IN) :: count + TYPE(MPI_Datatype), INTENT(IN) :: datatype + TYPE(MPI_Request), INTENT(OUT) :: request + INTEGER, OPTIONAL, INTENT(OUT) :: ierror + integer :: c_ierror + + call ompi_file_iread_at_all_f(fh%MPI_VAL,offset,buf,count,& + datatype%MPI_VAL,request%MPI_VAL,c_ierror) + if (present(ierror)) ierror = c_ierror + +end subroutine MPI_File_iread_at_all_f08 diff --git a/ompi/mpi/fortran/use-mpi-f08/file_iwrite_all_f08.F90 b/ompi/mpi/fortran/use-mpi-f08/file_iwrite_all_f08.F90 new file mode 100644 index 0000000000..c36c68abf1 --- /dev/null +++ b/ompi/mpi/fortran/use-mpi-f08/file_iwrite_all_f08.F90 @@ -0,0 +1,26 @@ +! -*- f90 -*- +! +! Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +! Copyright (c) 2009-2012 Los Alamos National Security, LLC. +! All Rights reserved. +! $COPYRIGHT$ + +#include "ompi/mpi/fortran/configure-fortran-output.h" + +subroutine MPI_File_iwrite_all_f08(fh,buf,count,datatype,request,ierror) + use :: mpi_f08_types, only : MPI_File, MPI_Datatype, MPI_Request + use :: mpi_f08, only : ompi_file_iwrite_all_f + implicit none + TYPE(MPI_File), INTENT(IN) :: fh + OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: buf + INTEGER, INTENT(IN) :: count + TYPE(MPI_Datatype), INTENT(IN) :: datatype + TYPE(MPI_Request), INTENT(OUT) :: request + INTEGER, OPTIONAL, INTENT(OUT) :: ierror + integer :: c_ierror + + call ompi_file_iwrite_all_f(fh%MPI_VAL,buf,count,& + datatype%MPI_VAL,request%MPI_VAL,c_ierror) + if (present(ierror)) ierror = c_ierror + +end subroutine MPI_File_iwrite_all_f08 diff --git a/ompi/mpi/fortran/use-mpi-f08/file_iwrite_at_all_f08.F90 b/ompi/mpi/fortran/use-mpi-f08/file_iwrite_at_all_f08.F90 new file mode 100644 index 0000000000..315b466ffe --- /dev/null +++ b/ompi/mpi/fortran/use-mpi-f08/file_iwrite_at_all_f08.F90 @@ -0,0 +1,27 @@ +! -*- f90 -*- +! +! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved. +! Copyright (c) 2009-2012 Los Alamos National Security, LLC. +! All Rights reserved. +! $COPYRIGHT$ + +#include "ompi/mpi/fortran/configure-fortran-output.h" + +subroutine MPI_File_iwrite_at_all_f08(fh,offset,buf,count,datatype,request,ierror) + use :: mpi_f08_types, only : MPI_File, MPI_Datatype, MPI_Request, MPI_OFFSET_KIND + use :: mpi_f08, only : ompi_file_iwrite_at_all_f + implicit none + TYPE(MPI_File), INTENT(IN) :: fh + INTEGER(MPI_OFFSET_KIND), INTENT(IN) :: offset + OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: buf + INTEGER, INTENT(IN) :: count + TYPE(MPI_Datatype), INTENT(IN) :: datatype + TYPE(MPI_Request), INTENT(OUT) :: request + INTEGER, OPTIONAL, INTENT(OUT) :: ierror + integer :: c_ierror + + call ompi_file_iwrite_at_all_f(fh%MPI_VAL,offset,buf,count,& + datatype%MPI_VAL,request%MPI_VAL,c_ierror) + if (present(ierror)) ierror = c_ierror + +end subroutine MPI_File_iwrite_at_all_f08 diff --git a/ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h.in b/ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h.in index 09b15caa20..bc5d667bd4 100644 --- a/ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h.in +++ b/ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h.in @@ -377,6 +377,35 @@ end subroutine PMPI_File_iread end interface +interface MPI_File_iread_all + +subroutine MPI_File_iread_all(fh, buf, count, datatype, request& + , ierror) + integer, intent(in) :: fh + @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ buf + @OMPI_FORTRAN_IGNORE_TKR_TYPE@ :: buf + integer, intent(in) :: count + integer, intent(in) :: datatype + integer, intent(out) :: request + integer, intent(out) :: ierror +end subroutine MPI_File_iread_all + +end interface + +interface PMPI_File_iread_all + +subroutine PMPI_File_iread_all(fh, buf, count, datatype, request& + , ierror) + integer, intent(in) :: fh + @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ buf + @OMPI_FORTRAN_IGNORE_TKR_TYPE@ :: buf + integer, intent(in) :: count + integer, intent(in) :: datatype + integer, intent(out) :: request + integer, intent(out) :: ierror +end subroutine PMPI_File_iread_all + +end interface interface MPI_File_iread_at @@ -412,6 +441,39 @@ end subroutine PMPI_File_iread_at end interface +interface MPI_File_iread_at_all + +subroutine MPI_File_iread_at_all(fh, offset, buf, count, datatype, & + request, ierror) + include 'mpif-config.h' + integer, intent(in) :: fh + integer(kind=MPI_OFFSET_KIND), intent(in) :: offset + @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ buf + @OMPI_FORTRAN_IGNORE_TKR_TYPE@ :: buf + integer, intent(in) :: count + integer, intent(in) :: datatype + integer, intent(out) :: request + integer, intent(out) :: ierror +end subroutine MPI_File_iread_at_all + +end interface + +interface PMPI_File_iread_at_all + +subroutine PMPI_File_iread_at_all(fh, offset, buf, count, datatype, & + request, ierror) + include 'mpif-config.h' + integer, intent(in) :: fh + integer(kind=MPI_OFFSET_KIND), intent(in) :: offset + @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ buf + @OMPI_FORTRAN_IGNORE_TKR_TYPE@ :: buf + integer, intent(in) :: count + integer, intent(in) :: datatype + integer, intent(out) :: request + integer, intent(out) :: ierror +end subroutine PMPI_File_iread_at_all + +end interface interface MPI_File_iread_shared @@ -474,6 +536,35 @@ end subroutine PMPI_File_iwrite end interface +interface MPI_File_iwrite_all + +subroutine MPI_File_iwrite_all(fh, buf, count, datatype, request& + , ierror) + integer, intent(in) :: fh + @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ buf + @OMPI_FORTRAN_IGNORE_TKR_TYPE@, intent(in) :: buf + integer, intent(in) :: count + integer, intent(in) :: datatype + integer, intent(out) :: request + integer, intent(out) :: ierror +end subroutine MPI_File_iwrite_all + +end interface + +interface PMPI_File_iwrite_all + +subroutine PMPI_File_iwrite_all(fh, buf, count, datatype, request& + , ierror) + integer, intent(in) :: fh + @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ buf + @OMPI_FORTRAN_IGNORE_TKR_TYPE@, intent(in) :: buf + integer, intent(in) :: count + integer, intent(in) :: datatype + integer, intent(out) :: request + integer, intent(out) :: ierror +end subroutine PMPI_File_iwrite_all + +end interface interface MPI_File_iwrite_at @@ -509,6 +600,39 @@ end subroutine PMPI_File_iwrite_at end interface +interface MPI_File_iwrite_at_all + +subroutine MPI_File_iwrite_at_all(fh, offset, buf, count, datatype, & + request, ierror) + include 'mpif-config.h' + integer, intent(in) :: fh + integer(kind=MPI_OFFSET_KIND), intent(in) :: offset + @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ buf + @OMPI_FORTRAN_IGNORE_TKR_TYPE@, intent(in) :: buf + integer, intent(in) :: count + integer, intent(in) :: datatype + integer, intent(out) :: request + integer, intent(out) :: ierror +end subroutine MPI_File_iwrite_at_all + +end interface + +interface PMPI_File_iwrite_at_all + +subroutine PMPI_File_iwrite_at_all(fh, offset, buf, count, datatype, & + request, ierror) + include 'mpif-config.h' + integer, intent(in) :: fh + integer(kind=MPI_OFFSET_KIND), intent(in) :: offset + @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ buf + @OMPI_FORTRAN_IGNORE_TKR_TYPE@, intent(in) :: buf + integer, intent(in) :: count + integer, intent(in) :: datatype + integer, intent(out) :: request + integer, intent(out) :: ierror +end subroutine PMPI_File_iwrite_at_all + +end interface interface MPI_File_iwrite_shared