Fortran: add missing implementation of win_allocate_shared and win_shared_query
Thanks to Michael Rachner for pointing out the issue. cmr=v1.8.2:ticket=trac:4736 This commit was SVN r32042. The following Trac tickets were found above: Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
Этот коммит содержится в:
родитель
2cbda4fe6d
Коммит
fa764c1567
@ -2103,6 +2103,22 @@ subroutine MPI_Type_set_name_f08(datatype,type_name,ierror)
|
||||
end subroutine MPI_Type_set_name_f08
|
||||
end interface MPI_Type_set_name
|
||||
|
||||
interface MPI_Win_allocate_shared
|
||||
subroutine MPI_Win_allocate_shared(size, disp_unit, info, comm, &
|
||||
baseptr, win, ierror)
|
||||
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
|
||||
include 'mpif-config.h'
|
||||
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: size
|
||||
INTEGER, INTENT(IN) :: disp_unit
|
||||
TYPE(MPI_Info), INTENT(IN) :: info
|
||||
TYPE(MPI_Comm), INTENT(IN) :: comm
|
||||
TYPE(C_PTR), INTENT(OUT) :: baseptr
|
||||
TYPE(MPI_Win), INTENT(OUT) :: win
|
||||
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
|
||||
end subroutine MPI_Win_allocate_shared
|
||||
end interface
|
||||
|
||||
|
||||
interface MPI_Win_create_keyval
|
||||
subroutine MPI_Win_create_keyval_f08(win_copy_attr_fn,win_delete_attr_fn,win_keyval, &
|
||||
extra_state,ierror)
|
||||
@ -3223,6 +3239,20 @@ subroutine MPI_Win_post_f08(group,assert,win,ierror)
|
||||
end subroutine MPI_Win_post_f08
|
||||
end interface MPI_Win_post
|
||||
|
||||
interface MPI_Win_shared_query
|
||||
subroutine MPI_Win_shared_query(win, rank, size, disp_unit, baseptr,&
|
||||
ierror)
|
||||
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
|
||||
include 'mpif-config.h'
|
||||
TYPE(MPI_Win), INTENT(IN) :: win
|
||||
INTEGER, INTENT(IN) :: rank
|
||||
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: size
|
||||
INTEGER, INTENT(OUT) :: disp_unit
|
||||
TYPE(C_PTR), INTENT(OUT) :: baseptr
|
||||
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
|
||||
end subroutine MPI_Win_shared_query
|
||||
end interface
|
||||
|
||||
interface MPI_Win_start
|
||||
subroutine MPI_Win_start_f08(group,assert,win,ierror)
|
||||
use :: mpi_f08_types, only : MPI_Group, MPI_Win
|
||||
|
@ -343,6 +343,7 @@ libmpi_mpifh_la_SOURCES += \
|
||||
rput_f.c \
|
||||
compare_and_swap_f.c \
|
||||
fetch_and_op_f.c \
|
||||
win_allocate_shared_f.c \
|
||||
win_call_errhandler_f.c \
|
||||
win_complete_f.c \
|
||||
win_create_errhandler_f.c \
|
||||
@ -361,6 +362,7 @@ libmpi_mpifh_la_SOURCES += \
|
||||
win_set_attr_f.c \
|
||||
win_set_errhandler_f.c \
|
||||
win_set_name_f.c \
|
||||
win_shared_query_f.c \
|
||||
win_start_f.c \
|
||||
win_test_f.c \
|
||||
win_unlock_f.c \
|
||||
|
@ -314,6 +314,7 @@ nodist_libmpi_mpifh_pmpi_la_SOURCES = \
|
||||
prput_f.c \
|
||||
pcompare_and_swap_f.c \
|
||||
pfetch_and_op_f.c \
|
||||
pwin_allocate_shared_f.c \
|
||||
pwin_call_errhandler_f.c \
|
||||
pwin_complete_f.c \
|
||||
pwin_create_errhandler_f.c \
|
||||
@ -332,6 +333,7 @@ nodist_libmpi_mpifh_pmpi_la_SOURCES = \
|
||||
pwin_set_attr_f.c \
|
||||
pwin_set_errhandler_f.c \
|
||||
pwin_set_name_f.c \
|
||||
pwin_shared_query_f.c \
|
||||
pwin_start_f.c \
|
||||
pwin_test_f.c \
|
||||
pwin_unlock_f.c \
|
||||
|
@ -344,6 +344,7 @@
|
||||
#define ompi_waitany_f pompi_waitany_f
|
||||
#define ompi_wait_f pompi_wait_f
|
||||
#define ompi_waitsome_f pompi_waitsome_f
|
||||
#define ompi_win_allocate_shared_f pompi_win_allocate_shared_f
|
||||
#define ompi_win_call_errhandler_f pompi_win_call_errhandler_f
|
||||
#define ompi_win_complete_f pompi_win_complete_f
|
||||
#define ompi_win_create_f pompi_win_create_f
|
||||
@ -366,6 +367,7 @@
|
||||
#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_name_f pompi_win_set_name_f
|
||||
#define ompi_win_shared_query_f pompi_win_shared_query_f
|
||||
#define ompi_win_start_f pompi_win_start_f
|
||||
#define ompi_win_test_f pompi_win_test_f
|
||||
#define ompi_win_unlock_f pompi_win_unlock_f
|
||||
|
@ -401,6 +401,7 @@ PN2(void, MPI_Waitall, mpi_waitall, MPI_WAITALL, (MPI_Fint *count, MPI_Fint *arr
|
||||
PN2(void, MPI_Waitany, mpi_waitany, MPI_WAITANY, (MPI_Fint *count, MPI_Fint *array_of_requests, MPI_Fint *index, MPI_Fint *status, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Wait, mpi_wait, MPI_WAIT, (MPI_Fint *request, MPI_Fint *status, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Waitsome, mpi_waitsome, MPI_WAITSOME, (MPI_Fint *incount, MPI_Fint *array_of_requests, MPI_Fint *outcount, MPI_Fint *array_of_indices, MPI_Fint *array_of_statuses, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Win_allocate_shared, mpi_win_allocate_shared, MPI_WIN_ALLOCATE_SHARED, (MPI_Aint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, char *baseptr, MPI_Fint *win, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Win_call_errhandler, mpi_win_call_errhandler, MPI_WIN_CALL_ERRHANDLER, (MPI_Fint *win, MPI_Fint *errorcode, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Win_complete, mpi_win_complete, MPI_WIN_COMPLETE, (MPI_Fint *win, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Win_create, mpi_win_create, MPI_WIN_CREATE, (char *base, MPI_Aint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr));
|
||||
@ -423,6 +424,7 @@ PN2(void, MPI_Win_post, mpi_win_post, MPI_WIN_POST, (MPI_Fint *group, MPI_Fint *
|
||||
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_name, mpi_win_set_name, MPI_WIN_SET_NAME, (MPI_Fint *win, char *win_name, MPI_Fint *ierr, int name_len));
|
||||
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_start, mpi_win_start, MPI_WIN_START, (MPI_Fint *group, MPI_Fint *assert, 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_unlock, mpi_win_unlock, MPI_WIN_UNLOCK, (MPI_Fint *rank, MPI_Fint *win, MPI_Fint *ierr));
|
||||
|
@ -7971,6 +7971,33 @@ end subroutine MPI_Win_call_errhandler
|
||||
|
||||
end interface
|
||||
|
||||
|
||||
interface MPI_Win_allocate_shared
|
||||
|
||||
subroutine MPI_Win_allocate_shared(size, disp_unit, info, comm, &
|
||||
baseptr, win, ierror)
|
||||
include 'mpif-config.h'
|
||||
integer(KIND=MPI_ADDRESS_KIND), intent(in) :: size
|
||||
integer, intent(in) :: disp_unit
|
||||
integer, intent(in) :: info
|
||||
integer, intent(in) :: comm
|
||||
integer(KIND=MPI_ADDRESS_KIND), intent(out) :: baseptr
|
||||
integer, intent(out) :: win
|
||||
integer, intent(out) :: ierror
|
||||
end subroutine MPI_Win_allocate_shared
|
||||
|
||||
subroutine MPI_Win_allocate_shared_cptr(size, disp_unit, info, comm, &
|
||||
baseptr, win, ierror)
|
||||
use, intrinsic :: iso_c_binding, only : c_ptr
|
||||
include 'mpif-config.h'
|
||||
integer :: disp_unit, info, comm, win, ierror
|
||||
integer(KIND=MPI_ADDRESS_KIND) :: size
|
||||
type(C_PTR) :: baseptr
|
||||
end subroutine MPI_Win_allocate_shared_cptr
|
||||
|
||||
end interface
|
||||
|
||||
|
||||
interface PMPI_Win_call_errhandler
|
||||
|
||||
subroutine PMPI_Win_call_errhandler(win, errorcode, ierror)
|
||||
@ -8446,6 +8473,22 @@ end subroutine PMPI_Win_set_name
|
||||
end interface
|
||||
|
||||
|
||||
interface MPI_Win_shared_query
|
||||
|
||||
subroutine MPI_Win_shared_query(win, rank, size, disp_unit, baseptr,&
|
||||
ierror)
|
||||
include 'mpif-config.h'
|
||||
integer, intent(in) :: win
|
||||
integer, intent(in) :: rank
|
||||
integer(KIND=MPI_ADDRESS_KIND), intent(out) :: size
|
||||
integer, intent(out) :: disp_unit
|
||||
integer(KIND=MPI_ADDRESS_KIND), intent(out) :: baseptr
|
||||
integer, intent(out) :: ierror
|
||||
end subroutine MPI_Win_shared_query
|
||||
|
||||
end interface
|
||||
|
||||
|
||||
interface MPI_Win_start
|
||||
|
||||
subroutine MPI_Win_start(group, assert, win, ierror)
|
||||
|
@ -2881,6 +2881,23 @@ end subroutine MPI_Waitsome
|
||||
end interface
|
||||
|
||||
|
||||
interface MPI_Win_allocate_shared
|
||||
|
||||
subroutine MPI_Win_allocate_shared(size, disp_unit, info, comm, &
|
||||
baseptr, win, ierror)
|
||||
include 'mpif-config.h'
|
||||
integer(KIND=MPI_ADDRESS_KIND), intent(in) :: size
|
||||
integer, intent(in) :: disp_unit
|
||||
integer, intent(in) :: info
|
||||
integer, intent(in) :: comm
|
||||
integer(KIND=MPI_ADDRESS_KIND), intent(out) :: baseptr
|
||||
integer, intent(out) :: win
|
||||
integer, intent(out) :: ierror
|
||||
end subroutine MPI_Win_allocate_shared
|
||||
|
||||
end interface
|
||||
|
||||
|
||||
interface MPI_Win_call_errhandler
|
||||
|
||||
subroutine MPI_Win_call_errhandler(win, errorcode, ierror)
|
||||
@ -3077,6 +3094,22 @@ end subroutine MPI_Win_set_name
|
||||
end interface
|
||||
|
||||
|
||||
interface MPI_Win_shared_query
|
||||
|
||||
subroutine MPI_Win_shared_query(win, rank, size, disp_unit, baseptr,&
|
||||
ierror)
|
||||
include 'mpif-config.h'
|
||||
integer, intent(in) :: win
|
||||
integer, intent(in) :: rank
|
||||
integer(KIND=MPI_ADDRESS_KIND), intent(out) :: size
|
||||
integer, intent(out) :: disp_unit
|
||||
integer(KIND=MPI_ADDRESS_KIND), intent(out) :: baseptr
|
||||
integer, intent(out) :: ierror
|
||||
end subroutine MPI_Win_shared_query
|
||||
|
||||
end interface
|
||||
|
||||
|
||||
interface MPI_Win_start
|
||||
|
||||
subroutine MPI_Win_start(group, assert, win, ierror)
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user