1
1

fortran: add missing bindings for WIN_SYNC, WIN_LOCK_ALL,

WIN_UNLOCK_ALL

cmr=v1.8.2:reviewer=hjelmn

This commit was SVN r32535.
Этот коммит содержится в:
Jeff Squyres 2014-08-14 20:27:30 +00:00
родитель da1b6c2e87
Коммит 3e78f7878c
18 изменённых файлов: 459 добавлений и 0 удалений

Просмотреть файл

@ -358,14 +358,17 @@ libmpi_mpifh_la_SOURCES += \
win_get_group_f.c \ win_get_group_f.c \
win_get_name_f.c \ win_get_name_f.c \
win_lock_f.c \ win_lock_f.c \
win_lock_all_f.c \
win_post_f.c \ win_post_f.c \
win_set_attr_f.c \ win_set_attr_f.c \
win_set_errhandler_f.c \ win_set_errhandler_f.c \
win_set_name_f.c \ win_set_name_f.c \
win_shared_query_f.c \ win_shared_query_f.c \
win_start_f.c \ win_start_f.c \
win_sync_f.c \
win_test_f.c \ win_test_f.c \
win_unlock_f.c \ win_unlock_f.c \
win_unlock_all_f.c \
win_wait_f.c \ win_wait_f.c \
win_flush_f.c \ win_flush_f.c \
win_flush_all_f.c \ win_flush_all_f.c \

Просмотреть файл

@ -329,14 +329,17 @@ nodist_libmpi_mpifh_pmpi_la_SOURCES = \
pwin_get_group_f.c \ pwin_get_group_f.c \
pwin_get_name_f.c \ pwin_get_name_f.c \
pwin_lock_f.c \ pwin_lock_f.c \
pwin_lock_all_f.c \
pwin_post_f.c \ pwin_post_f.c \
pwin_set_attr_f.c \ pwin_set_attr_f.c \
pwin_set_errhandler_f.c \ pwin_set_errhandler_f.c \
pwin_set_name_f.c \ pwin_set_name_f.c \
pwin_shared_query_f.c \ pwin_shared_query_f.c \
pwin_start_f.c \ pwin_start_f.c \
pwin_sync_f.c \
pwin_test_f.c \ pwin_test_f.c \
pwin_unlock_f.c \ pwin_unlock_f.c \
pwin_unlock_all_f.c \
pwin_wait_f.c \ pwin_wait_f.c \
pwin_flush_f.c \ pwin_flush_f.c \
pwin_flush_all_f.c \ pwin_flush_all_f.c \

Просмотреть файл

@ -364,6 +364,7 @@
#define ompi_win_get_group_f pompi_win_get_group_f #define ompi_win_get_group_f pompi_win_get_group_f
#define ompi_win_get_name_f pompi_win_get_name_f #define ompi_win_get_name_f pompi_win_get_name_f
#define ompi_win_lock_f pompi_win_lock_f #define ompi_win_lock_f pompi_win_lock_f
#define ompi_win_lock_all_f pompi_win_lock_all_f
#define ompi_win_post_f pompi_win_post_f #define ompi_win_post_f pompi_win_post_f
#define ompi_win_set_attr_f pompi_win_set_attr_f #define ompi_win_set_attr_f pompi_win_set_attr_f
#define ompi_win_set_errhandler_f pompi_win_set_errhandler_f #define ompi_win_set_errhandler_f pompi_win_set_errhandler_f
@ -371,8 +372,10 @@
#define ompi_win_shared_query_f pompi_win_shared_query_f #define ompi_win_shared_query_f pompi_win_shared_query_f
#define ompi_win_shared_query_cptr_f pompi_win_shared_query_cptr_f #define ompi_win_shared_query_cptr_f pompi_win_shared_query_cptr_f
#define ompi_win_start_f pompi_win_start_f #define ompi_win_start_f pompi_win_start_f
#define ompi_win_sync_f pompi_win_sync_f
#define ompi_win_test_f pompi_win_test_f #define ompi_win_test_f pompi_win_test_f
#define ompi_win_unlock_f pompi_win_unlock_f #define ompi_win_unlock_f pompi_win_unlock_f
#define ompi_win_unlock_all_f pompi_win_unlock_all_f
#define ompi_win_wait_f pompi_win_wait_f #define ompi_win_wait_f pompi_win_wait_f
#define ompi_wtick_f pompi_wtick_f #define ompi_wtick_f pompi_wtick_f
#define ompi_wtime_f pompi_wtime_f #define ompi_wtime_f pompi_wtime_f

Просмотреть файл

@ -421,6 +421,7 @@ PN2(void, MPI_Win_get_errhandler, mpi_win_get_errhandler, MPI_WIN_GET_ERRHANDLER
PN2(void, MPI_Win_get_group, mpi_win_get_group, MPI_WIN_GET_GROUP, (MPI_Fint *win, MPI_Fint *group, MPI_Fint *ierr)); PN2(void, MPI_Win_get_group, mpi_win_get_group, MPI_WIN_GET_GROUP, (MPI_Fint *win, MPI_Fint *group, MPI_Fint *ierr));
PN2(void, MPI_Win_get_name, mpi_win_get_name, MPI_WIN_GET_NAME, (MPI_Fint *win, char *win_name, MPI_Fint *resultlen, MPI_Fint *ierr, int name_len)); PN2(void, MPI_Win_get_name, mpi_win_get_name, MPI_WIN_GET_NAME, (MPI_Fint *win, char *win_name, MPI_Fint *resultlen, MPI_Fint *ierr, int name_len));
PN2(void, MPI_Win_lock, mpi_win_lock, MPI_WIN_LOCK, (MPI_Fint *lock_type, MPI_Fint *rank, MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr)); PN2(void, MPI_Win_lock, mpi_win_lock, MPI_WIN_LOCK, (MPI_Fint *lock_type, MPI_Fint *rank, MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr));
PN2(void, MPI_Win_lock_all, mpi_win_lock_all, MPI_WIN_LOCK_ALL, (MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr));
PN2(void, MPI_Win_post, mpi_win_post, MPI_WIN_POST, (MPI_Fint *group, MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr)); PN2(void, MPI_Win_post, mpi_win_post, MPI_WIN_POST, (MPI_Fint *group, MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr));
PN2(void, MPI_Win_set_attr, mpi_win_set_attr, MPI_WIN_SET_ATTR, (MPI_Fint *win, MPI_Fint *win_keyval, MPI_Aint *attribute_val, MPI_Fint *ierr)); PN2(void, MPI_Win_set_attr, mpi_win_set_attr, MPI_WIN_SET_ATTR, (MPI_Fint *win, MPI_Fint *win_keyval, MPI_Aint *attribute_val, MPI_Fint *ierr));
PN2(void, MPI_Win_set_errhandler, mpi_win_set_errhandler, MPI_WIN_SET_ERRHANDLER, (MPI_Fint *win, MPI_Fint *errhandler, MPI_Fint *ierr)); PN2(void, MPI_Win_set_errhandler, mpi_win_set_errhandler, MPI_WIN_SET_ERRHANDLER, (MPI_Fint *win, MPI_Fint *errhandler, MPI_Fint *ierr));
@ -428,8 +429,10 @@ PN2(void, MPI_Win_set_name, mpi_win_set_name, MPI_WIN_SET_NAME, (MPI_Fint *win,
PN2(void, MPI_Win_shared_query, mpi_win_shared_query, MPI_WIN_SHARED_QUERY, (MPI_Fint *win, MPI_Fint *rank, MPI_Aint *size, MPI_Fint *disp_unit, char *baseptr, MPI_Fint *ierr)); PN2(void, MPI_Win_shared_query, mpi_win_shared_query, MPI_WIN_SHARED_QUERY, (MPI_Fint *win, MPI_Fint *rank, MPI_Aint *size, MPI_Fint *disp_unit, char *baseptr, MPI_Fint *ierr));
PN2(void, MPI_Win_shared_query_cptr, mpi_win_shared_query_cptr, MPI_WIN_SHARED_QUERY_CPTR, (MPI_Fint *win, MPI_Fint *rank, MPI_Aint *size, MPI_Fint *disp_unit, char *baseptr, MPI_Fint *ierr)); PN2(void, MPI_Win_shared_query_cptr, mpi_win_shared_query_cptr, MPI_WIN_SHARED_QUERY_CPTR, (MPI_Fint *win, MPI_Fint *rank, MPI_Aint *size, MPI_Fint *disp_unit, char *baseptr, MPI_Fint *ierr));
PN2(void, MPI_Win_start, mpi_win_start, MPI_WIN_START, (MPI_Fint *group, MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr)); PN2(void, MPI_Win_start, mpi_win_start, MPI_WIN_START, (MPI_Fint *group, MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr));
PN2(void, MPI_Win_sync, mpi_win_sync, MPI_WIN_SYNC, (MPI_Fint *win, MPI_Fint *ierr));
PN2(void, MPI_Win_test, mpi_win_test, MPI_WIN_TEST, (MPI_Fint *win, ompi_fortran_logical_t *flag, MPI_Fint *ierr)); PN2(void, MPI_Win_test, mpi_win_test, MPI_WIN_TEST, (MPI_Fint *win, ompi_fortran_logical_t *flag, MPI_Fint *ierr));
PN2(void, MPI_Win_unlock, mpi_win_unlock, MPI_WIN_UNLOCK, (MPI_Fint *rank, MPI_Fint *win, MPI_Fint *ierr)); PN2(void, MPI_Win_unlock, mpi_win_unlock, MPI_WIN_UNLOCK, (MPI_Fint *rank, MPI_Fint *win, MPI_Fint *ierr));
PN2(void, MPI_Win_unlock_all, mpi_win_unlock_all, MPI_WIN_UNLOCK_ALL, (MPI_Fint *win, MPI_Fint *ierr));
PN2(void, MPI_Win_wait, mpi_win_wait, MPI_WIN_WAIT, (MPI_Fint *win, MPI_Fint *ierr)); PN2(void, MPI_Win_wait, mpi_win_wait, MPI_WIN_WAIT, (MPI_Fint *win, MPI_Fint *ierr));
PN2(double, MPI_Wtick, mpi_wtick, MPI_WTICK, (void)); PN2(double, MPI_Wtick, mpi_wtick, MPI_WTICK, (void));
PN2(double, MPI_Wtime, mpi_wtime, MPI_WTIME, (void)); PN2(double, MPI_Wtime, mpi_wtime, MPI_WTIME, (void));

75
ompi/mpi/fortran/mpif-h/win_lock_all_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,75 @@
/*
* 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-2014 Cisco Systems, Inc. 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_LOCK_ALL = ompi_win_lock_all_f
#pragma weak pmpi_win_lock_all = ompi_win_lock_all_f
#pragma weak pmpi_win_lock_all_ = ompi_win_lock_all_f
#pragma weak pmpi_win_lock_all__ = ompi_win_lock_all_f
#pragma weak PMPI_Win_lock_all_f = ompi_win_lock_all_f
#pragma weak PMPI_Win_lock_all_f08 = ompi_win_lock_all_f
#elif OMPI_PROFILE_LAYER
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_LOCK_ALL,
pmpi_win_lock_all,
pmpi_win_lock_all_,
pmpi_win_lock_all__,
pompi_win_lock_all_f,
(MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr),
(assert, win, ierr) )
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPI_WIN_LOCK_ALL = ompi_win_lock_all_f
#pragma weak mpi_win_lock_all = ompi_win_lock_all_f
#pragma weak mpi_win_lock_all_ = ompi_win_lock_all_f
#pragma weak mpi_win_lock_all__ = ompi_win_lock_all_f
#pragma weak MPI_Win_lock_all_f = ompi_win_lock_all_f
#pragma weak MPI_Win_lock_all_f08 = ompi_win_lock_all_f
#endif
#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_LOCK_ALL,
mpi_win_lock_all,
mpi_win_lock_all_,
mpi_win_lock_all__,
ompi_win_lock_all_f,
(MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr),
(assert, win, ierr) )
#endif
#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS
#include "ompi/mpi/fortran/mpif-h/profile/defines.h"
#endif
void ompi_win_lock_all_f(MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr)
{
int c_ierr;
MPI_Win c_win = MPI_Win_f2c(*win);
c_ierr = MPI_Win_lock_all(OMPI_FINT_2_INT(*assert),
c_win);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
}

74
ompi/mpi/fortran/mpif-h/win_sync_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,74 @@
/*
* 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-2014 Cisco Systems, Inc. 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_SYNC = ompi_win_sync_f
#pragma weak pmpi_win_sync = ompi_win_sync_f
#pragma weak pmpi_win_sync_ = ompi_win_sync_f
#pragma weak pmpi_win_sync__ = ompi_win_sync_f
#pragma weak PMPI_Win_sync_f = ompi_win_sync_f
#pragma weak PMPI_Win_sync_f08 = ompi_win_sync_f
#elif OMPI_PROFILE_LAYER
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_SYNC,
pmpi_win_sync,
pmpi_win_sync_,
pmpi_win_sync__,
pompi_win_sync_f,
(MPI_Fint *win, MPI_Fint *ierr),
(win, ierr) )
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPI_WIN_SYNC = ompi_win_sync_f
#pragma weak mpi_win_sync = ompi_win_sync_f
#pragma weak mpi_win_sync_ = ompi_win_sync_f
#pragma weak mpi_win_sync__ = ompi_win_sync_f
#pragma weak MPI_Win_sync_f = ompi_win_sync_f
#pragma weak MPI_Win_sync_f08 = ompi_win_sync_f
#endif
#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_SYNC,
mpi_win_sync,
mpi_win_sync_,
mpi_win_sync__,
ompi_win_sync_f,
(MPI_Fint *win, MPI_Fint *ierr),
(win, ierr) )
#endif
#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS
#include "ompi/mpi/fortran/mpif-h/profile/defines.h"
#endif
void ompi_win_sync_f(MPI_Fint *win, MPI_Fint *ierr)
{
int c_ierr;
MPI_Win c_win = MPI_Win_f2c(*win);
c_ierr = MPI_Win_sync(c_win);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
}

74
ompi/mpi/fortran/mpif-h/win_unlock_all_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,74 @@
/*
* 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-2014 Cisco Systems, Inc. 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_UNLOCK_ALL = ompi_win_unlock_all_f
#pragma weak pmpi_win_unlock_all = ompi_win_unlock_all_f
#pragma weak pmpi_win_unlock_all_ = ompi_win_unlock_all_f
#pragma weak pmpi_win_unlock_all__ = ompi_win_unlock_all_f
#pragma weak PMPI_Win_unlock_all_f = ompi_win_unlock_all_f
#pragma weak PMPI_Win_unlock_all_f08 = ompi_win_unlock_all_f
#elif OMPI_PROFILE_LAYER
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_UNLOCK_ALL,
pmpi_win_unlock_all,
pmpi_win_unlock_all_,
pmpi_win_unlock_all__,
pompi_win_unlock_all_f,
(MPI_Fint *win, MPI_Fint *ierr),
(win, ierr) )
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPI_WIN_UNLOCK_ALL = ompi_win_unlock_all_f
#pragma weak mpi_win_unlock_all = ompi_win_unlock_all_f
#pragma weak mpi_win_unlock_all_ = ompi_win_unlock_all_f
#pragma weak mpi_win_unlock_all__ = ompi_win_unlock_all_f
#pragma weak MPI_Win_unlock_all_f = ompi_win_unlock_all_f
#pragma weak MPI_Win_unlock_all_f08 = ompi_win_unlock_all_f
#endif
#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_UNLOCK_ALL,
mpi_win_unlock_all,
mpi_win_unlock_all_,
mpi_win_unlock_all__,
ompi_win_unlock_all_f,
(MPI_Fint *win, MPI_Fint *ierr),
(win, ierr) )
#endif
#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS
#include "ompi/mpi/fortran/mpif-h/profile/defines.h"
#endif
void ompi_win_unlock_all_f(MPI_Fint *win, MPI_Fint *ierr)
{
int c_ierr;
MPI_Win c_win = MPI_Win_f2c(*win);
c_ierr = MPI_Win_unlock_all(c_win);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
}

Просмотреть файл

@ -98,6 +98,7 @@ mpi_api_files = \
comm_spawn_f08.F90 \ comm_spawn_f08.F90 \
comm_spawn_multiple_f08.F90 \ comm_spawn_multiple_f08.F90 \
comm_split_f08.F90 \ comm_split_f08.F90 \
comm_split_type_f08.F90 \
comm_test_inter_f08.F90 \ comm_test_inter_f08.F90 \
compare_and_swap_f08.F90 \ compare_and_swap_f08.F90 \
dist_graph_create_adjacent_f08.F90 \ dist_graph_create_adjacent_f08.F90 \
@ -303,14 +304,17 @@ mpi_api_files = \
win_get_group_f08.F90 \ win_get_group_f08.F90 \
win_get_name_f08.F90 \ win_get_name_f08.F90 \
win_lock_f08.F90 \ win_lock_f08.F90 \
win_lock_all_f08.F90 \
win_post_f08.F90 \ win_post_f08.F90 \
win_set_attr_f08.F90 \ win_set_attr_f08.F90 \
win_set_errhandler_f08.F90 \ win_set_errhandler_f08.F90 \
win_set_name_f08.F90 \ win_set_name_f08.F90 \
win_shared_query_f08.F90 \ win_shared_query_f08.F90 \
win_start_f08.F90 \ win_start_f08.F90 \
win_sync_f08.F90 \
win_test_f08.F90 \ win_test_f08.F90 \
win_unlock_f08.F90 \ win_unlock_f08.F90 \
win_unlock_all_f08.F90 \
win_wait_f08.F90 win_wait_f08.F90
if OMPI_PROVIDE_MPI_FILE_INTERFACE if OMPI_PROVIDE_MPI_FILE_INTERFACE
@ -440,6 +444,7 @@ pmpi_api_files = \
profile/pcomm_spawn_f08.F90 \ profile/pcomm_spawn_f08.F90 \
profile/pcomm_spawn_multiple_f08.F90 \ profile/pcomm_spawn_multiple_f08.F90 \
profile/pcomm_split_f08.F90 \ profile/pcomm_split_f08.F90 \
profile/pcomm_split_type_f08.F90 \
profile/pcomm_test_inter_f08.F90 \ profile/pcomm_test_inter_f08.F90 \
profile/pcompare_and_swap_f08.F90 \ profile/pcompare_and_swap_f08.F90 \
profile/pdims_create_f08.F90 \ profile/pdims_create_f08.F90 \
@ -645,14 +650,17 @@ pmpi_api_files = \
profile/pwin_get_group_f08.F90 \ profile/pwin_get_group_f08.F90 \
profile/pwin_get_name_f08.F90 \ profile/pwin_get_name_f08.F90 \
profile/pwin_lock_f08.F90 \ profile/pwin_lock_f08.F90 \
profile/pwin_lock_all_f08.F90 \
profile/pwin_post_f08.F90 \ profile/pwin_post_f08.F90 \
profile/pwin_set_attr_f08.F90 \ profile/pwin_set_attr_f08.F90 \
profile/pwin_set_errhandler_f08.F90 \ profile/pwin_set_errhandler_f08.F90 \
profile/pwin_set_name_f08.F90 \ profile/pwin_set_name_f08.F90 \
profile/pwin_shared_query_f08.F90 \ profile/pwin_shared_query_f08.F90 \
profile/pwin_start_f08.F90 \ profile/pwin_start_f08.F90 \
profile/pwin_sync_f08.F90 \
profile/pwin_test_f08.F90 \ profile/pwin_test_f08.F90 \
profile/pwin_unlock_f08.F90 \ profile/pwin_unlock_f08.F90 \
profile/pwin_unlock_all_f08.F90 \
profile/pwin_wait_f08.F90 profile/pwin_wait_f08.F90
if OMPI_PROVIDE_MPI_FILE_INTERFACE if OMPI_PROVIDE_MPI_FILE_INTERFACE

Просмотреть файл

@ -2417,6 +2417,14 @@ subroutine ompi_win_lock_f(lock_type,rank,assert,win,ierror) &
INTEGER, INTENT(OUT) :: ierror INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_win_lock_f end subroutine ompi_win_lock_f
subroutine ompi_win_lock_all_f(assert,win,ierror) &
BIND(C, name="ompi_win_lock_all_f")
implicit none
INTEGER, INTENT(IN) :: assert
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_win_lock_all_f
subroutine ompi_win_post_f(group,assert,win,ierror) & subroutine ompi_win_post_f(group,assert,win,ierror) &
BIND(C, name="ompi_win_post_f") BIND(C, name="ompi_win_post_f")
implicit none implicit none
@ -2447,6 +2455,13 @@ subroutine ompi_win_start_f(group,assert,win,ierror) &
INTEGER, INTENT(OUT) :: ierror INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_win_start_f end subroutine ompi_win_start_f
subroutine ompi_win_sync_f(win,ierror) &
BIND(C, name="ompi_win_sync_f")
implicit none
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_win_sync_f
subroutine ompi_win_unlock_f(rank,win,ierror) & subroutine ompi_win_unlock_f(rank,win,ierror) &
BIND(C, name="ompi_win_unlock_f") BIND(C, name="ompi_win_unlock_f")
implicit none implicit none
@ -2455,6 +2470,13 @@ subroutine ompi_win_unlock_f(rank,win,ierror) &
INTEGER, INTENT(OUT) :: ierror INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_win_unlock_f end subroutine ompi_win_unlock_f
subroutine ompi_win_unlock_all_f(win,ierror) &
BIND(C, name="ompi_win_unlock_all_f")
implicit none
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_win_unlock_all_f
subroutine ompi_win_wait_f(win,ierror) & subroutine ompi_win_wait_f(win,ierror) &
BIND(C, name="ompi_win_wait_f") BIND(C, name="ompi_win_wait_f")
implicit none implicit none

Просмотреть файл

@ -3227,6 +3227,16 @@ subroutine MPI_Win_lock_f08(lock_type,rank,assert,win,ierror)
end subroutine MPI_Win_lock_f08 end subroutine MPI_Win_lock_f08
end interface MPI_Win_lock end interface MPI_Win_lock
interface MPI_Win_lock_all
subroutine MPI_Win_lock_all_f08(assert,win,ierror)
use :: mpi_f08_types, only : MPI_Win
implicit none
INTEGER, INTENT(IN) :: assert
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine MPI_Win_lock_all_f08
end interface MPI_Win_lock_all
interface MPI_Win_post interface MPI_Win_post
subroutine MPI_Win_post_f08(group,assert,win,ierror) subroutine MPI_Win_post_f08(group,assert,win,ierror)
use :: mpi_f08_types, only : MPI_Group, MPI_Win use :: mpi_f08_types, only : MPI_Group, MPI_Win
@ -3263,6 +3273,15 @@ subroutine MPI_Win_start_f08(group,assert,win,ierror)
end subroutine MPI_Win_start_f08 end subroutine MPI_Win_start_f08
end interface MPI_Win_start end interface MPI_Win_start
interface MPI_Win_sync
subroutine MPI_Win_sync_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Group, MPI_Win
implicit none
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine MPI_Win_sync_f08
end interface MPI_Win_sync
interface MPI_Win_test interface MPI_Win_test
subroutine MPI_Win_test_f08(win,flag,ierror) subroutine MPI_Win_test_f08(win,flag,ierror)
use :: mpi_f08_types, only : MPI_Win use :: mpi_f08_types, only : MPI_Win
@ -3283,6 +3302,15 @@ subroutine MPI_Win_unlock_f08(rank,win,ierror)
end subroutine MPI_Win_unlock_f08 end subroutine MPI_Win_unlock_f08
end interface MPI_Win_unlock end interface MPI_Win_unlock
interface MPI_Win_unlock_all
subroutine MPI_Win_unlock_all_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Win
implicit none
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine MPI_Win_unlock_all_f08
end interface MPI_Win_unlock_all
interface MPI_Win_wait interface MPI_Win_wait
subroutine MPI_Win_wait_f08(win,ierror) subroutine MPI_Win_wait_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Win use :: mpi_f08_types, only : MPI_Win

Просмотреть файл

@ -2254,6 +2254,14 @@ subroutine pompi_win_lock_f(lock_type,rank,assert,win,ierror) &
INTEGER, INTENT(OUT) :: ierror INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_lock_f end subroutine pompi_win_lock_f
subroutine pompi_win_lock_all_f(assert,win,ierror) &
BIND(C, name="pompi_win_lock_all_f")
implicit none
INTEGER, INTENT(IN) :: assert
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_lock_all_f
subroutine pompi_win_post_f(group,assert,win,ierror) & subroutine pompi_win_post_f(group,assert,win,ierror) &
BIND(C, name="pompi_win_post_f") BIND(C, name="pompi_win_post_f")
implicit none implicit none
@ -2284,6 +2292,13 @@ subroutine pompi_win_start_f(group,assert,win,ierror) &
INTEGER, INTENT(OUT) :: ierror INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_start_f end subroutine pompi_win_start_f
subroutine pompi_win_sync_f(win,ierror) &
BIND(C, name="pompi_win_sync_f")
implicit none
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_sync_f
subroutine pompi_win_unlock_f(rank,win,ierror) & subroutine pompi_win_unlock_f(rank,win,ierror) &
BIND(C, name="pompi_win_unlock_f") BIND(C, name="pompi_win_unlock_f")
implicit none implicit none
@ -2292,6 +2307,13 @@ subroutine pompi_win_unlock_f(rank,win,ierror) &
INTEGER, INTENT(OUT) :: ierror INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_unlock_f end subroutine pompi_win_unlock_f
subroutine pompi_win_unlock_all_f(win,ierror) &
BIND(C, name="pompi_win_unlock_all_f")
implicit none
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_unlock_all_f
subroutine pompi_win_wait_f(win,ierror) & subroutine pompi_win_wait_f(win,ierror) &
BIND(C, name="pompi_win_wait_f") BIND(C, name="pompi_win_wait_f")
implicit none implicit none

Просмотреть файл

@ -3213,6 +3213,16 @@ subroutine PMPI_Win_lock_f08(lock_type,rank,assert,win,ierror)
end subroutine PMPI_Win_lock_f08 end subroutine PMPI_Win_lock_f08
end interface PMPI_Win_lock end interface PMPI_Win_lock
interface PMPI_Win_lock_all
subroutine PMPI_Win_lock_all_f08(assert,win,ierror)
use :: mpi_f08_types, only : MPI_Win
implicit none
INTEGER, INTENT(IN) :: assert
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine PMPI_Win_lock_all_f08
end interface PMPI_Win_lock_all
interface PMPI_Win_post interface PMPI_Win_post
subroutine PMPI_Win_post_f08(group,assert,win,ierror) subroutine PMPI_Win_post_f08(group,assert,win,ierror)
use :: mpi_f08_types, only : MPI_Group, MPI_Win use :: mpi_f08_types, only : MPI_Group, MPI_Win
@ -3235,6 +3245,15 @@ subroutine PMPI_Win_start_f08(group,assert,win,ierror)
end subroutine PMPI_Win_start_f08 end subroutine PMPI_Win_start_f08
end interface PMPI_Win_start end interface PMPI_Win_start
interface PMPI_Win_sync
subroutine PMPI_Win_sync_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Group, MPI_Win
implicit none
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine PMPI_Win_sync_f08
end interface PMPI_Win_sync
interface PMPI_Win_test interface PMPI_Win_test
subroutine PMPI_Win_test_f08(win,flag,ierror) subroutine PMPI_Win_test_f08(win,flag,ierror)
use :: mpi_f08_types, only : MPI_Win use :: mpi_f08_types, only : MPI_Win
@ -3255,6 +3274,15 @@ subroutine PMPI_Win_unlock_f08(rank,win,ierror)
end subroutine PMPI_Win_unlock_f08 end subroutine PMPI_Win_unlock_f08
end interface PMPI_Win_unlock end interface PMPI_Win_unlock
interface PMPI_Win_unlock_all
subroutine PMPI_Win_unlock_all_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Win
implicit none
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine PMPI_Win_unlock_all_f08
end interface PMPI_Win_unlock_all
interface PMPI_Win_wait interface PMPI_Win_wait
subroutine PMPI_Win_wait_f08(win,ierror) subroutine PMPI_Win_wait_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Win use :: mpi_f08_types, only : MPI_Win

Просмотреть файл

@ -0,0 +1,20 @@
! -*- f90 -*-
!
! Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All Rights reserved.
! $COPYRIGHT$
subroutine PMPI_Win_lock_all_f08(assert,win,ierror)
use :: mpi_f08_types, only : MPI_Win
use :: mpi_f08, only : ompi_win_lock_all_f
implicit none
INTEGER, INTENT(IN) :: assert
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompi_win_lock_all_f(assert,win%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPI_Win_lock_all_f08

Просмотреть файл

@ -0,0 +1,19 @@
! -*- f90 -*-
!
! Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All Rights reserved.
! $COPYRIGHT$
subroutine PMPI_Win_sync_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Win
use :: mpi_f08, only : ompi_win_sync_f
implicit none
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompi_win_sync_f(win%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPI_Win_sync_f08

Просмотреть файл

@ -0,0 +1,19 @@
! -*- f90 -*-
!
! Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All Rights reserved.
! $COPYRIGHT$
subroutine PMPI_Win_unlock_all_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Win
use :: mpi_f08, only : ompi_win_unlock_all_f
implicit none
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompi_win_unlock_all_f(win%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPI_Win_unlock_all_f08

Просмотреть файл

@ -0,0 +1,20 @@
! -*- f90 -*-
!
! Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All Rights reserved.
! $COPYRIGHT$
subroutine MPI_Win_lock_all_f08(assert,win,ierror)
use :: mpi_f08_types, only : MPI_Win
use :: mpi_f08, only : ompi_win_lock_all_f
implicit none
INTEGER, INTENT(IN) :: assert
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompi_win_lock_all_f(assert,win%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPI_Win_lock_all_f08

Просмотреть файл

@ -0,0 +1,19 @@
! -*- f90 -*-
!
! Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All Rights reserved.
! $COPYRIGHT$
subroutine MPI_Win_sync_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Win
use :: mpi_f08, only : ompi_win_sync_f
implicit none
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompi_win_sync_f(win%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPI_Win_sync_f08

Просмотреть файл

@ -0,0 +1,19 @@
! -*- f90 -*-
!
! Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All Rights reserved.
! $COPYRIGHT$
subroutine MPI_Win_unlock_all_f08(win,ierror)
use :: mpi_f08_types, only : MPI_Win
use :: mpi_f08, only : ompi_win_unlock_all_f
implicit none
TYPE(MPI_Win), INTENT(IN) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompi_win_unlock_all_f(win%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPI_Win_unlock_all_f08