From bf38f82dc20113a4f5f2971f341a8865039db96e Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Wed, 3 Jun 2015 09:04:04 +0900 Subject: [PATCH] MPI_Win_{get,set}_info: add missing files fixes commit open-mpi/ompi@558d34a5c346a9f1aae8af24f0474c5eeb6df298 --- ompi/mpi/fortran/mpif-h/win_get_info_f.c | 68 +++++++++++++++++++ ompi/mpi/fortran/mpif-h/win_set_info_f.c | 68 +++++++++++++++++++ .../use-mpi-f08/profile/pwin_get_info_f08.F90 | 19 ++++++ .../use-mpi-f08/profile/pwin_set_info_f08.F90 | 19 ++++++ .../fortran/use-mpi-f08/win_get_info_f08.F90 | 19 ++++++ .../fortran/use-mpi-f08/win_set_info_f08.F90 | 19 ++++++ 6 files changed, 212 insertions(+) create mode 100644 ompi/mpi/fortran/mpif-h/win_get_info_f.c create mode 100644 ompi/mpi/fortran/mpif-h/win_set_info_f.c create mode 100644 ompi/mpi/fortran/use-mpi-f08/profile/pwin_get_info_f08.F90 create mode 100644 ompi/mpi/fortran/use-mpi-f08/profile/pwin_set_info_f08.F90 create mode 100644 ompi/mpi/fortran/use-mpi-f08/win_get_info_f08.F90 create mode 100644 ompi/mpi/fortran/use-mpi-f08/win_set_info_f08.F90 diff --git a/ompi/mpi/fortran/mpif-h/win_get_info_f.c b/ompi/mpi/fortran/mpif-h/win_get_info_f.c new file mode 100644 index 0000000000..0f0ec51410 --- /dev/null +++ b/ompi/mpi/fortran/mpif-h/win_get_info_f.c @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2015 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "ompi/mpi/fortran/mpif-h/bindings.h" + +#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER +#pragma weak PMPI_WIN_GET_INFO = ompi_win_get_info_f +#pragma weak pmpi_win_get_info = ompi_win_get_info_f +#pragma weak pmpi_win_get_info_ = ompi_win_get_info_f +#pragma weak pmpi_win_get_info__ = ompi_win_get_info_f + +#pragma weak PMPI_Win_create_f = ompi_win_get_info_f +#pragma weak PMPI_Win_create_f08 = ompi_win_get_info_f +#elif OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_GET_INFO, + pmpi_win_get_info, + pmpi_win_get_info_, + pmpi_win_get_info__, + pompi_win_get_info_f, + (MPI_Fint *win, MPI_Fint *info, MPI_Fint *ierr), + (win, info, ierr) ) +#endif + +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_WIN_GET_INFO = ompi_win_get_info_f +#pragma weak mpi_win_get_info = ompi_win_get_info_f +#pragma weak mpi_win_get_info_ = ompi_win_get_info_f +#pragma weak mpi_win_get_info__ = ompi_win_get_info_f + +#pragma weak MPI_Win_create_f = ompi_win_get_info_f +#pragma weak MPI_Win_create_f08 = ompi_win_get_info_f +#endif + +#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (MPI_WIN_GET_INFO, + mpi_win_get_info, + mpi_win_get_info_, + mpi_win_get_info__, + ompi_win_get_info_f, + (MPI_Fint *win, MPI_Fint *info, MPI_Fint *ierr), + (win, info, ierr) ) +#endif + + +#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS +#include "ompi/mpi/fortran/mpif-h/profile/defines.h" +#endif + +void ompi_win_get_info_f(MPI_Fint *win, MPI_Fint *info, MPI_Fint *ierr) +{ + int c_ierr; + MPI_Win c_win; + MPI_Info c_info; + + c_win = MPI_Win_f2c(*win); + c_ierr = MPI_Win_get_info(c_win, &c_info); + if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); + *info = MPI_Info_c2f(c_info); +} diff --git a/ompi/mpi/fortran/mpif-h/win_set_info_f.c b/ompi/mpi/fortran/mpif-h/win_set_info_f.c new file mode 100644 index 0000000000..95755c3e15 --- /dev/null +++ b/ompi/mpi/fortran/mpif-h/win_set_info_f.c @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2015 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "ompi/mpi/fortran/mpif-h/bindings.h" + +#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER +#pragma weak PMPI_WIN_SET_INFO = ompi_win_set_info_f +#pragma weak pmpi_win_set_info = ompi_win_set_info_f +#pragma weak pmpi_win_set_info_ = ompi_win_set_info_f +#pragma weak pmpi_win_set_info__ = ompi_win_set_info_f + +#pragma weak PMPI_Win_create_f = ompi_win_set_info_f +#pragma weak PMPI_Win_create_f08 = ompi_win_set_info_f +#elif OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_SET_INFO, + pmpi_win_set_info, + pmpi_win_set_info_, + pmpi_win_set_info__, + pompi_win_set_info_f, + (MPI_Fint *win, MPI_Fint *info, MPI_Fint *ierr), + (win, info, ierr) ) +#endif + +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_WIN_SET_INFO = ompi_win_set_info_f +#pragma weak mpi_win_set_info = ompi_win_set_info_f +#pragma weak mpi_win_set_info_ = ompi_win_set_info_f +#pragma weak mpi_win_set_info__ = ompi_win_set_info_f + +#pragma weak MPI_Win_create_f = ompi_win_set_info_f +#pragma weak MPI_Win_create_f08 = ompi_win_set_info_f +#endif + +#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (MPI_WIN_SET_INFO, + mpi_win_set_info, + mpi_win_set_info_, + mpi_win_set_info__, + ompi_win_set_info_f, + (MPI_Fint *win, MPI_Fint *info, MPI_Fint *ierr), + (win, info, ierr) ) +#endif + + +#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS +#include "ompi/mpi/fortran/mpif-h/profile/defines.h" +#endif + +void ompi_win_set_info_f(MPI_Fint *win, MPI_Fint *info, MPI_Fint *ierr) +{ + int c_ierr; + MPI_Win c_win; + MPI_Info c_info; + + c_win = MPI_Win_f2c(*win); + c_info = MPI_Info_f2c(*info); + c_ierr = MPI_Win_set_info(c_win, c_info); + if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); +} diff --git a/ompi/mpi/fortran/use-mpi-f08/profile/pwin_get_info_f08.F90 b/ompi/mpi/fortran/use-mpi-f08/profile/pwin_get_info_f08.F90 new file mode 100644 index 0000000000..a9f137badf --- /dev/null +++ b/ompi/mpi/fortran/use-mpi-f08/profile/pwin_get_info_f08.F90 @@ -0,0 +1,19 @@ +! -*- f90 -*- +! +! Copyright (c) 2015 Research Organization for Information Science +! and Technology (RIST). All rights reserved. +! $COPYRIGHT$ + +subroutine PMPI_Win_get_info_f08(win,info,ierror) + use :: mpi_f08_types, only : MPI_Win, MPI_Info + use :: mpi_f08, only : ompi_win_get_info_f + implicit none + TYPE(MPI_Win), INTENT(IN) :: win + TYPE(MPI_Info), INTENT(OUT) :: info + INTEGER, OPTIONAL, INTENT(OUT) :: ierror + integer :: c_ierror + + call ompi_win_get_info_f(win%MPI_VAL,info%MPI_VAL,c_ierror) + if (present(ierror)) ierror = c_ierror + +end subroutine PMPI_Win_get_info_f08 diff --git a/ompi/mpi/fortran/use-mpi-f08/profile/pwin_set_info_f08.F90 b/ompi/mpi/fortran/use-mpi-f08/profile/pwin_set_info_f08.F90 new file mode 100644 index 0000000000..c8c3fff371 --- /dev/null +++ b/ompi/mpi/fortran/use-mpi-f08/profile/pwin_set_info_f08.F90 @@ -0,0 +1,19 @@ +! -*- f90 -*- +! +! Copyright (c) 2015 Research Organization for Information Science +! and Technology (RIST). All rights reserved. +! $COPYRIGHT$ + +subroutine PMPI_Win_set_info_f08(win,info,ierror) + use :: mpi_f08_types, only : MPI_Win, MPI_Info + use :: mpi_f08, only : ompi_win_set_info_f + implicit none + TYPE(MPI_Win), INTENT(IN) :: win + TYPE(MPI_Info), INTENT(IN) :: info + INTEGER, OPTIONAL, INTENT(OUT) :: ierror + integer :: c_ierror + + call ompi_win_set_info_f(win%MPI_VAL,info%MPI_VAL,c_ierror) + if (present(ierror)) ierror = c_ierror + +end subroutine PMPI_Win_set_info_f08 diff --git a/ompi/mpi/fortran/use-mpi-f08/win_get_info_f08.F90 b/ompi/mpi/fortran/use-mpi-f08/win_get_info_f08.F90 new file mode 100644 index 0000000000..07e09cd86e --- /dev/null +++ b/ompi/mpi/fortran/use-mpi-f08/win_get_info_f08.F90 @@ -0,0 +1,19 @@ +! -*- f90 -*- +! +! Copyright (c) 2015 Research Organization for Information Science +! and Technology (RIST). All rights reserved. +! $COPYRIGHT$ + +subroutine MPI_Win_get_info_f08(win,info,ierror) + use :: mpi_f08_types, only : MPI_Win, MPI_Info + use :: mpi_f08, only : ompi_win_get_info_f + implicit none + TYPE(MPI_Win), INTENT(IN) :: win + TYPE(MPI_Info), INTENT(OUT) :: info + INTEGER, OPTIONAL, INTENT(OUT) :: ierror + integer :: c_ierror + + call ompi_win_get_info_f(win%MPI_VAL,info%MPI_VAL,c_ierror) + if (present(ierror)) ierror = c_ierror + +end subroutine MPI_Win_get_info_f08 diff --git a/ompi/mpi/fortran/use-mpi-f08/win_set_info_f08.F90 b/ompi/mpi/fortran/use-mpi-f08/win_set_info_f08.F90 new file mode 100644 index 0000000000..5151ba6089 --- /dev/null +++ b/ompi/mpi/fortran/use-mpi-f08/win_set_info_f08.F90 @@ -0,0 +1,19 @@ +! -*- f90 -*- +! +! Copyright (c) 2015 Research Organization for Information Science +! and Technology (RIST). All rights reserved. +! $COPYRIGHT$ + +subroutine MPI_Win_set_info_f08(win,info,ierror) + use :: mpi_f08_types, only : MPI_Win, MPI_Info + use :: mpi_f08, only : ompi_win_set_info_f + implicit none + TYPE(MPI_Win), INTENT(IN) :: win + TYPE(MPI_Info), INTENT(IN) :: info + INTEGER, OPTIONAL, INTENT(OUT) :: ierror + integer :: c_ierror + + call ompi_win_set_info_f(win%MPI_VAL,info%MPI_VAL,c_ierror) + if (present(ierror)) ierror = c_ierror + +end subroutine MPI_Win_set_info_f08