![Gilles Gouaillardet](/assets/img/avatar_default.png)
Simplify and fix the r32246 cmr=v1.8.2:ticket=trac:4792 This commit was SVN r32254. The following SVN revision numbers were found above: r32246 --> open-mpi/ompi@08d2a1a48d The following Trac tickets were found above: Ticket 4792 --> https://svn.open-mpi.org/trac/ompi/ticket/4792
88 строки
3.0 KiB
Fortran
88 строки
3.0 KiB
Fortran
! -*- f90 -*-
|
|
!
|
|
! 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) 2006-2014 Cisco Systems, Inc. All rights reserved.
|
|
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
|
|
! All rights reserved.
|
|
! Copyright (c) 2014 Research Organization for Information Science
|
|
! and Technology (RIST). All rights reserved.
|
|
! $COPYRIGHT$
|
|
!
|
|
! Additional copyrights may follow
|
|
!
|
|
! $HEADER$
|
|
!
|
|
|
|
#include "ompi/mpi/fortran/configure-fortran-output.h"
|
|
|
|
module mpi_f08
|
|
|
|
use mpi_f08_types
|
|
use mpi_f08_interfaces ! this module contains the mpi_f08 interface declarations
|
|
use pmpi_f08_interfaces ! this module contains the pmpi_f08 interface declarations
|
|
use mpi_f08_sizeof ! this module from sizeof.F90
|
|
|
|
!
|
|
! Declaration of the interfaces to the ompi impl files
|
|
! e.g., send_f.c
|
|
!
|
|
#include "mpi-f-interfaces-bind.h"
|
|
#include "pmpi-f-interfaces-bind.h"
|
|
|
|
! The MPI attribute callback functions
|
|
|
|
include "attr-fn-f08-callback-interfaces.h"
|
|
|
|
! The MPI_CONVERSION_FN_NULL function
|
|
|
|
include "conversion-fn-null-f08-interface.h"
|
|
|
|
end module mpi_f08
|
|
|
|
#if ! OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS
|
|
subroutine ompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
|
|
ierror)
|
|
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
|
|
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
|
|
implicit none
|
|
INTEGER, 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
|
|
if (present(ierror) then
|
|
call MPI_Win_shared_query_f08(win, rank, size, disp_unit, baseptr, ierror)
|
|
else
|
|
call MPI_Win_shared_query_f08(win, rank, size, disp_unit, baseptr)
|
|
endif
|
|
end subroutine ompi_win_shared_query_f
|
|
|
|
subroutine pompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
|
|
ierror)
|
|
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
|
|
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
|
|
implicit none
|
|
INTEGER, 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
|
|
if (present(ierror) then
|
|
call PMPI_Win_shared_query_f08(win, rank, size, disp_unit, baseptr, ierror)
|
|
else
|
|
call PMPI_Win_shared_query_f08(win, rank, size, disp_unit, baseptr)
|
|
endif
|
|
end subroutine pompi_win_shared_query_f
|
|
#endif
|