1
1
openmpi/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-interfaces.h
Nathan Hjelm 89da9651bb ompi: disable functions removed from MPI-3.0 by default
This commit adds a new configure option: --enable-mpi1-compat. Without
this option we will no longer provide APIs, typedefs, and defines that
were removed from the standard in MPI-3.0. This option will exist for
one major release (Open MPI v4.x.x) and then the option and associated
code will be removed in Open MPI v5.x.x. Open MPI has already
internally prepared for this change. Please prepare your codes
accordingly.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-05-31 09:44:19 -06:00

2448 строки
58 KiB
Fortran

! -*- fortran -*-
!
! Copyright (c) 2004-2006 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) 2016-2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
! Additional copyrights may follow
!
! $HEADER$
!
interface MPI_Wtick
function MPI_Wtick()
double precision MPI_Wtick
end function MPI_Wtick
end interface
interface MPI_Wtime
function MPI_Wtime()
double precision MPI_Wtime
end function MPI_Wtime
end interface
interface MPI_Abort
subroutine MPI_Abort(comm, errorcode, ierror)
integer, intent(in) :: comm
integer, intent(in) :: errorcode
integer, intent(out) :: ierror
end subroutine MPI_Abort
end interface
interface MPI_Add_error_class
subroutine MPI_Add_error_class(errorclass, ierror)
integer, intent(out) :: errorclass
integer, intent(out) :: ierror
end subroutine MPI_Add_error_class
end interface
interface MPI_Add_error_code
subroutine MPI_Add_error_code(errorclass, errorcode, ierror)
integer, intent(in) :: errorclass
integer, intent(out) :: errorcode
integer, intent(out) :: ierror
end subroutine MPI_Add_error_code
end interface
interface MPI_Add_error_string
subroutine MPI_Add_error_string(errorcode, string, ierror)
integer, intent(in) :: errorcode
character(len=*), intent(in) :: string
integer, intent(out) :: ierror
end subroutine MPI_Add_error_string
end interface
interface MPI_Aint_add
function MPI_Aint_add(base, diff)
include 'mpif-config.h'
integer(kind=MPI_ADDRESS_KIND), intent(in) :: base
integer(kind=MPI_ADDRESS_KIND), intent(in) :: diff
integer(kind=MPI_ADDRESS_KIND) MPI_Aint_add
end function MPI_Aint_add
end interface
interface MPI_Aint_diff
function MPI_Aint_diff(addr1, addr2)
include 'mpif-config.h'
integer(kind=MPI_ADDRESS_KIND), intent(in) :: addr1
integer(kind=MPI_ADDRESS_KIND), intent(in) :: addr2
integer(kind=MPI_ADDRESS_KIND) MPI_Aint_diff
end function MPI_Aint_diff
end interface
interface MPI_Barrier
subroutine MPI_Barrier(comm, ierror)
integer, intent(in) :: comm
integer, intent(out) :: ierror
end subroutine MPI_Barrier
end interface
interface MPI_Ibarrier
subroutine MPI_Ibarrier(comm, request, ierror)
integer, intent(in) :: comm
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine MPI_Ibarrier
end interface
interface MPI_Cancel
subroutine MPI_Cancel(request, ierror)
integer, intent(in) :: request
integer, intent(out) :: ierror
end subroutine MPI_Cancel
end interface
interface MPI_Cart_coords
subroutine MPI_Cart_coords(comm, rank, maxdims, coords, ierror)
integer, intent(in) :: comm
integer, intent(in) :: rank
integer, intent(in) :: maxdims
integer, dimension(*), intent(out) :: coords
integer, intent(out) :: ierror
end subroutine MPI_Cart_coords
end interface
interface MPI_Cart_create
subroutine MPI_Cart_create(old_comm, ndims, dims, periods, reorder, &
comm_cart, ierror)
integer, intent(in) :: old_comm
integer, intent(in) :: ndims
integer, dimension(*), intent(in) :: dims
logical, dimension(*), intent(in) :: periods
logical, intent(in) :: reorder
integer, intent(out) :: comm_cart
integer, intent(out) :: ierror
end subroutine MPI_Cart_create
end interface
interface MPI_Cart_get
subroutine MPI_Cart_get(comm, maxdims, dims, periods, coords&
, ierror)
integer, intent(in) :: comm
integer, intent(in) :: maxdims
integer, dimension(*), intent(out) :: dims
logical, dimension(*), intent(out) :: periods
integer, dimension(*), intent(out) :: coords
integer, intent(out) :: ierror
end subroutine MPI_Cart_get
end interface
interface MPI_Cart_map
subroutine MPI_Cart_map(comm, ndims, dims, periods, newrank&
, ierror)
integer, intent(in) :: comm
integer, intent(in) :: ndims
integer, dimension(*), intent(in) :: dims
logical, dimension(*), intent(in) :: periods
integer, intent(out) :: newrank
integer, intent(out) :: ierror
end subroutine MPI_Cart_map
end interface
interface MPI_Cart_rank
subroutine MPI_Cart_rank(comm, coords, rank, ierror)
integer, intent(in) :: comm
integer, dimension(*), intent(in) :: coords
integer, intent(out) :: rank
integer, intent(out) :: ierror
end subroutine MPI_Cart_rank
end interface
interface MPI_Cart_shift
subroutine MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest&
, ierror)
integer, intent(in) :: comm
integer, intent(in) :: direction
integer, intent(in) :: disp
integer, intent(out) :: rank_source
integer, intent(out) :: rank_dest
integer, intent(out) :: ierror
end subroutine MPI_Cart_shift
end interface
interface MPI_Cart_sub
subroutine MPI_Cart_sub(comm, remain_dims, new_comm, ierror)
integer, intent(in) :: comm
logical, dimension(*), intent(in) :: remain_dims
integer, intent(out) :: new_comm
integer, intent(out) :: ierror
end subroutine MPI_Cart_sub
end interface
interface MPI_Cartdim_get
subroutine MPI_Cartdim_get(comm, ndims, ierror)
integer, intent(in) :: comm
integer, intent(out) :: ndims
integer, intent(out) :: ierror
end subroutine MPI_Cartdim_get
end interface
interface MPI_Comm_call_errhandler
subroutine MPI_Comm_call_errhandler(comm, errorcode, ierror)
integer, intent(in) :: comm
integer, intent(in) :: errorcode
integer, intent(out) :: ierror
end subroutine MPI_Comm_call_errhandler
end interface
interface MPI_Comm_compare
subroutine MPI_Comm_compare(comm1, comm2, result, ierror)
integer, intent(in) :: comm1
integer, intent(in) :: comm2
integer, intent(out) :: result
integer, intent(out) :: ierror
end subroutine MPI_Comm_compare
end interface
interface MPI_Comm_create
subroutine MPI_Comm_create(comm, group, newcomm, ierror)
integer, intent(in) :: comm
integer, intent(in) :: group
integer, intent(out) :: newcomm
integer, intent(out) :: ierror
end subroutine MPI_Comm_create
end interface
interface MPI_Comm_create_group
subroutine MPI_Comm_create_group(comm, group, tag, newcomm, ierror)
integer, intent(in) :: comm
integer, intent(in) :: group
integer, intent(in) :: tag
integer, intent(out) :: newcomm
integer, intent(out) :: ierror
end subroutine MPI_Comm_create_group
end interface
interface MPI_Comm_create_errhandler
subroutine MPI_Comm_create_errhandler(function, errhandler, ierror)
external :: function
integer, intent(out) :: errhandler
integer, intent(out) :: ierror
end subroutine MPI_Comm_create_errhandler
end interface
interface MPI_Comm_create_keyval
subroutine MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state, ierror)
include 'mpif-config.h'
external :: comm_copy_attr_fn
external :: comm_delete_attr_fn
integer, intent(out) :: comm_keyval
integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
integer, intent(out) :: ierror
end subroutine MPI_Comm_create_keyval
end interface
interface MPI_Comm_delete_attr
subroutine MPI_Comm_delete_attr(comm, comm_keyval, ierror)
integer, intent(in) :: comm
integer, intent(in) :: comm_keyval
integer, intent(out) :: ierror
end subroutine MPI_Comm_delete_attr
end interface
interface MPI_Comm_dup
subroutine MPI_Comm_dup(comm, newcomm, ierror)
integer, intent(in) :: comm
integer, intent(out) :: newcomm
integer, intent(out) :: ierror
end subroutine MPI_Comm_dup
end interface
interface MPI_Comm_dup_with_info
subroutine MPI_Comm_dup_with_info(comm, info, newcomm, ierror)
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: newcomm
integer, intent(out) :: ierror
end subroutine MPI_Comm_dup_with_info
end interface
interface MPI_Comm_idup
subroutine MPI_Comm_idup(comm, newcomm, request, ierror)
integer, intent(in) :: comm
integer, intent(out) :: newcomm
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine MPI_Comm_idup
end interface
interface MPI_Comm_free
subroutine MPI_Comm_free(comm, ierror)
integer, intent(inout) :: comm
integer, intent(out) :: ierror
end subroutine MPI_Comm_free
end interface
interface MPI_Comm_free_keyval
subroutine MPI_Comm_free_keyval(comm_keyval, ierror)
integer, intent(inout) :: comm_keyval
integer, intent(out) :: ierror
end subroutine MPI_Comm_free_keyval
end interface
interface MPI_Comm_get_info
subroutine MPI_Comm_get_info(comm, info_used, ierror)
include 'mpif-config.h'
integer, intent(in) :: comm
integer, intent(out) :: info_used
integer, intent(out) :: ierror
end subroutine MPI_Comm_get_info
end interface
interface MPI_Comm_get_attr
subroutine MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag, ierror)
include 'mpif-config.h'
integer, intent(in) :: comm
integer, intent(in) :: comm_keyval
integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Comm_get_attr
end interface
interface MPI_Comm_get_errhandler
subroutine MPI_Comm_get_errhandler(comm, erhandler, ierror)
integer, intent(in) :: comm
integer, intent(out) :: erhandler
integer, intent(out) :: ierror
end subroutine MPI_Comm_get_errhandler
end interface
interface MPI_Comm_get_name
subroutine MPI_Comm_get_name(comm, comm_name, resultlen, ierror)
integer, intent(in) :: comm
character(len=*), intent(out) :: comm_name
integer, intent(out) :: resultlen
integer, intent(out) :: ierror
end subroutine MPI_Comm_get_name
end interface
interface MPI_Comm_group
subroutine MPI_Comm_group(comm, group, ierror)
integer, intent(in) :: comm
integer, intent(out) :: group
integer, intent(out) :: ierror
end subroutine MPI_Comm_group
end interface
interface MPI_Comm_rank
subroutine MPI_Comm_rank(comm, rank, ierror)
integer, intent(in) :: comm
integer, intent(out) :: rank
integer, intent(out) :: ierror
end subroutine MPI_Comm_rank
end interface
interface MPI_Comm_remote_group
subroutine MPI_Comm_remote_group(comm, group, ierror)
integer, intent(in) :: comm
integer, intent(out) :: group
integer, intent(out) :: ierror
end subroutine MPI_Comm_remote_group
end interface
interface MPI_Comm_remote_size
subroutine MPI_Comm_remote_size(comm, size, ierror)
integer, intent(in) :: comm
integer, intent(out) :: size
integer, intent(out) :: ierror
end subroutine MPI_Comm_remote_size
end interface
interface MPI_Comm_set_info
subroutine MPI_Comm_set_info(comm, info, ierror)
include 'mpif-config.h'
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: ierror
end subroutine MPI_Comm_set_info
end interface
interface MPI_Comm_set_attr
subroutine MPI_Comm_set_attr(comm, comm_keyval, attribute_val, ierror)
include 'mpif-config.h'
integer, intent(in) :: comm
integer, intent(in) :: comm_keyval
integer(kind=MPI_ADDRESS_KIND), intent(in) :: attribute_val
integer, intent(out) :: ierror
end subroutine MPI_Comm_set_attr
end interface
interface MPI_Comm_set_errhandler
subroutine MPI_Comm_set_errhandler(comm, errhandler, ierror)
integer, intent(in) :: comm
integer, intent(in) :: errhandler
integer, intent(out) :: ierror
end subroutine MPI_Comm_set_errhandler
end interface
interface MPI_Comm_set_name
subroutine MPI_Comm_set_name(comm, comm_name, ierror)
integer, intent(in) :: comm
character(len=*), intent(in) :: comm_name
integer, intent(out) :: ierror
end subroutine MPI_Comm_set_name
end interface
interface MPI_Comm_size
subroutine MPI_Comm_size(comm, size, ierror)
integer, intent(in) :: comm
integer, intent(out) :: size
integer, intent(out) :: ierror
end subroutine MPI_Comm_size
end interface
interface MPI_Comm_split
subroutine MPI_Comm_split(comm, color, key, newcomm, ierror)
integer, intent(in) :: comm
integer, intent(in) :: color
integer, intent(in) :: key
integer, intent(out) :: newcomm
integer, intent(out) :: ierror
end subroutine MPI_Comm_split
end interface
interface MPI_Comm_test_inter
subroutine MPI_Comm_test_inter(comm, flag, ierror)
integer, intent(in) :: comm
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Comm_test_inter
end interface
interface MPI_Dims_create
subroutine MPI_Dims_create(nnodes, ndims, dims, ierror)
integer, intent(in) :: nnodes
integer, intent(in) :: ndims
integer, dimension(*), intent(inout) :: dims
integer, intent(out) :: ierror
end subroutine MPI_Dims_create
end interface
interface MPI_Errhandler_free
subroutine MPI_Errhandler_free(errhandler, ierror)
integer, intent(inout) :: errhandler
integer, intent(out) :: ierror
end subroutine MPI_Errhandler_free
end interface
interface MPI_Error_class
subroutine MPI_Error_class(errorcode, errorclass, ierror)
integer, intent(in) :: errorcode
integer, intent(out) :: errorclass
integer, intent(out) :: ierror
end subroutine MPI_Error_class
end interface
interface MPI_Error_string
subroutine MPI_Error_string(errorcode, string, resultlen, ierror)
integer, intent(in) :: errorcode
character(len=*), intent(out) :: string
integer, intent(out) :: resultlen
integer, intent(out) :: ierror
end subroutine MPI_Error_string
end interface
interface MPI_Finalize
subroutine MPI_Finalize(ierror)
integer, intent(out) :: ierror
end subroutine MPI_Finalize
end interface
interface MPI_Finalized
subroutine MPI_Finalized(flag, ierror)
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Finalized
end interface
interface MPI_Get_count
subroutine MPI_Get_count(status, datatype, count, ierror)
include 'mpif-config.h'
integer, dimension(MPI_STATUS_SIZE), intent(in) :: status
integer, intent(in) :: datatype
integer, intent(out) :: count
integer, intent(out) :: ierror
end subroutine MPI_Get_count
end interface
interface MPI_Get_elements
subroutine MPI_Get_elements(status, datatype, count, ierror)
include 'mpif-config.h'
integer, dimension(MPI_STATUS_SIZE), intent(in) :: status
integer, intent(in) :: datatype
integer, intent(out) :: count
integer, intent(out) :: ierror
end subroutine MPI_Get_elements
end interface
interface MPI_Get_elements_x
subroutine MPI_Get_elements_x(status, datatype, count, ierror)
include 'mpif-config.h'
integer, dimension(MPI_STATUS_SIZE), intent(in) :: status
integer, intent(in) :: datatype
integer(kind=MPI_COUNT_KIND), intent(out) :: count
integer, intent(out) :: ierror
end subroutine MPI_Get_elements_x
end interface
interface MPI_Get_processor_name
subroutine MPI_Get_processor_name(name, resultlen, ierror)
character(len=*), intent(out) :: name
integer, intent(out) :: resultlen
integer, intent(out) :: ierror
end subroutine MPI_Get_processor_name
end interface
interface MPI_Get_version
subroutine MPI_Get_version(version, subversion, ierror)
integer, intent(out) :: version
integer, intent(out) :: subversion
integer, intent(out) :: ierror
end subroutine MPI_Get_version
end interface
interface MPI_Graph_create
subroutine MPI_Graph_create(comm_old, nnodes, index, edges, reorder, &
comm_graph, ierror)
integer, intent(in) :: comm_old
integer, intent(in) :: nnodes
integer, dimension(*), intent(in) :: index
integer, dimension(*), intent(in) :: edges
logical, intent(in) :: reorder
integer, intent(out) :: comm_graph
integer, intent(out) :: ierror
end subroutine MPI_Graph_create
end interface
interface MPI_Graph_get
subroutine MPI_Graph_get(comm, maxindex, maxedges, index, edges&
, ierror)
integer, intent(in) :: comm
integer, intent(in) :: maxindex
integer, intent(in) :: maxedges
integer, dimension(*), intent(out) :: index
integer, dimension(*), intent(out) :: edges
integer, intent(out) :: ierror
end subroutine MPI_Graph_get
end interface
interface MPI_Graph_map
subroutine MPI_Graph_map(comm, nnodes, index, edges, newrank&
, ierror)
integer, intent(in) :: comm
integer, intent(in) :: nnodes
integer, dimension(*), intent(in) :: index
integer, dimension(*), intent(in) :: edges
integer, intent(out) :: newrank
integer, intent(out) :: ierror
end subroutine MPI_Graph_map
end interface
interface MPI_Graph_neighbors
subroutine MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors, ierror)
integer, intent(in) :: comm
integer, intent(in) :: rank
integer, intent(in) :: maxneighbors
integer, dimension(*), intent(out) :: neighbors
integer, intent(out) :: ierror
end subroutine MPI_Graph_neighbors
end interface
interface MPI_Graph_neighbors_count
subroutine MPI_Graph_neighbors_count(comm, rank, nneighbors, ierror)
integer, intent(in) :: comm
integer, intent(in) :: rank
integer, intent(out) :: nneighbors
integer, intent(out) :: ierror
end subroutine MPI_Graph_neighbors_count
end interface
interface MPI_Graphdims_get
subroutine MPI_Graphdims_get(comm, nnodes, nedges, ierror)
integer, intent(in) :: comm
integer, intent(out) :: nnodes
integer, intent(out) :: nedges
integer, intent(out) :: ierror
end subroutine MPI_Graphdims_get
end interface
interface MPI_Grequest_complete
subroutine MPI_Grequest_complete(request, ierror)
integer, intent(in) :: request
integer, intent(out) :: ierror
end subroutine MPI_Grequest_complete
end interface
interface MPI_Grequest_start
subroutine MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request&
, ierror)
include 'mpif-config.h'
external :: query_fn
external :: free_fn
external :: cancel_fn
integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine MPI_Grequest_start
end interface
interface MPI_Group_compare
subroutine MPI_Group_compare(group1, group2, result, ierror)
integer, intent(in) :: group1
integer, intent(in) :: group2
integer, intent(out) :: result
integer, intent(out) :: ierror
end subroutine MPI_Group_compare
end interface
interface MPI_Group_difference
subroutine MPI_Group_difference(group1, group2, newgroup, ierror)
integer, intent(in) :: group1
integer, intent(in) :: group2
integer, intent(out) :: newgroup
integer, intent(out) :: ierror
end subroutine MPI_Group_difference
end interface
interface MPI_Group_excl
subroutine MPI_Group_excl(group, n, ranks, newgroup, ierror)
integer, intent(in) :: group
integer, intent(in) :: n
integer, dimension(*), intent(in) :: ranks
integer, intent(out) :: newgroup
integer, intent(out) :: ierror
end subroutine MPI_Group_excl
end interface
interface MPI_Group_free
subroutine MPI_Group_free(group, ierror)
integer, intent(inout) :: group
integer, intent(out) :: ierror
end subroutine MPI_Group_free
end interface
interface MPI_Group_incl
subroutine MPI_Group_incl(group, n, ranks, newgroup, ierror)
integer, intent(in) :: group
integer, intent(in) :: n
integer, dimension(*), intent(in) :: ranks
integer, intent(out) :: newgroup
integer, intent(out) :: ierror
end subroutine MPI_Group_incl
end interface
interface MPI_Group_intersection
subroutine MPI_Group_intersection(group1, group2, newgroup, ierror)
integer, intent(in) :: group1
integer, intent(in) :: group2
integer, intent(out) :: newgroup
integer, intent(out) :: ierror
end subroutine MPI_Group_intersection
end interface
interface MPI_Group_range_excl
subroutine MPI_Group_range_excl(group, n, ranges, newgroup, ierror)
integer, intent(in) :: group
integer, intent(in) :: n
integer, dimension(3, *), intent(in) :: ranges
integer, intent(out) :: newgroup
integer, intent(out) :: ierror
end subroutine MPI_Group_range_excl
end interface
interface MPI_Group_range_incl
subroutine MPI_Group_range_incl(group, n, ranges, newgroup, ierror)
integer, intent(in) :: group
integer, intent(in) :: n
integer, dimension(3, *), intent(in) :: ranges
integer, intent(out) :: newgroup
integer, intent(out) :: ierror
end subroutine MPI_Group_range_incl
end interface
interface MPI_Group_rank
subroutine MPI_Group_rank(group, rank, ierror)
integer, intent(in) :: group
integer, intent(out) :: rank
integer, intent(out) :: ierror
end subroutine MPI_Group_rank
end interface
interface MPI_Group_size
subroutine MPI_Group_size(group, size, ierror)
integer, intent(in) :: group
integer, intent(out) :: size
integer, intent(out) :: ierror
end subroutine MPI_Group_size
end interface
interface MPI_Group_translate_ranks
subroutine MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2&
, ierror)
integer, intent(in) :: group1
integer, intent(in) :: n
integer, dimension(*), intent(in) :: ranks1
integer, intent(in) :: group2
integer, dimension(*), intent(out) :: ranks2
integer, intent(out) :: ierror
end subroutine MPI_Group_translate_ranks
end interface
interface MPI_Group_union
subroutine MPI_Group_union(group1, group2, newgroup, ierror)
integer, intent(in) :: group1
integer, intent(in) :: group2
integer, intent(out) :: newgroup
integer, intent(out) :: ierror
end subroutine MPI_Group_union
end interface
interface MPI_Info_create
subroutine MPI_Info_create(info, ierror)
integer, intent(out) :: info
integer, intent(out) :: ierror
end subroutine MPI_Info_create
end interface
interface MPI_Info_delete
subroutine MPI_Info_delete(info, key, ierror)
integer, intent(in) :: info
character(len=*), intent(in) :: key
integer, intent(out) :: ierror
end subroutine MPI_Info_delete
end interface
interface MPI_Info_dup
subroutine MPI_Info_dup(info, newinfo, ierror)
integer, intent(in) :: info
integer, intent(out) :: newinfo
integer, intent(out) :: ierror
end subroutine MPI_Info_dup
end interface
interface MPI_Info_free
subroutine MPI_Info_free(info, ierror)
integer, intent(inout) :: info
integer, intent(out) :: ierror
end subroutine MPI_Info_free
end interface
interface MPI_Info_get
subroutine MPI_Info_get(info, key, valuelen, value, flag&
, ierror)
integer, intent(in) :: info
character(len=*), intent(in) :: key
integer, intent(in) :: valuelen
character(len=*), intent(out) :: value
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Info_get
end interface
interface MPI_Info_get_nkeys
subroutine MPI_Info_get_nkeys(info, nkeys, ierror)
integer, intent(in) :: info
integer, intent(out) :: nkeys
integer, intent(out) :: ierror
end subroutine MPI_Info_get_nkeys
end interface
interface MPI_Info_get_nthkey
subroutine MPI_Info_get_nthkey(info, n, key, ierror)
integer, intent(in) :: info
integer, intent(in) :: n
character(len=*), intent(out) :: key
integer, intent(out) :: ierror
end subroutine MPI_Info_get_nthkey
end interface
interface MPI_Info_get_valuelen
subroutine MPI_Info_get_valuelen(info, key, valuelen, flag, ierror)
integer, intent(in) :: info
character(len=*), intent(in) :: key
integer, intent(out) :: valuelen
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Info_get_valuelen
end interface
interface MPI_Info_set
subroutine MPI_Info_set(info, key, value, ierror)
integer, intent(in) :: info
character(len=*), intent(in) :: key
character(len=*), intent(in) :: value
integer, intent(out) :: ierror
end subroutine MPI_Info_set
end interface
interface MPI_Init
subroutine MPI_Init(ierror)
integer, intent(out) :: ierror
end subroutine MPI_Init
end interface
interface MPI_Init_thread
subroutine MPI_Init_thread(required, provided, ierror)
integer, intent(in) :: required
integer, intent(out) :: provided
integer, intent(out) :: ierror
end subroutine MPI_Init_thread
end interface
interface MPI_Initialized
subroutine MPI_Initialized(flag, ierror)
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Initialized
end interface
interface MPI_Intercomm_create
subroutine MPI_Intercomm_create(local_comm, local_leader, bridge_comm, remote_leader, tag, &
newintercomm, ierror)
integer, intent(in) :: local_comm
integer, intent(in) :: local_leader
integer, intent(in) :: bridge_comm
integer, intent(in) :: remote_leader
integer, intent(in) :: tag
integer, intent(out) :: newintercomm
integer, intent(out) :: ierror
end subroutine MPI_Intercomm_create
end interface
interface MPI_Intercomm_merge
subroutine MPI_Intercomm_merge(intercomm, high, newintercomm, ierror)
integer, intent(in) :: intercomm
logical, intent(in) :: high
integer, intent(out) :: newintercomm
integer, intent(out) :: ierror
end subroutine MPI_Intercomm_merge
end interface
interface MPI_Iprobe
subroutine MPI_Iprobe(source, tag, comm, flag, status&
, ierror)
include 'mpif-config.h'
integer, intent(in) :: source
integer, intent(in) :: tag
integer, intent(in) :: comm
logical, intent(out) :: flag
integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Iprobe
end interface
interface MPI_Is_thread_main
subroutine MPI_Is_thread_main(flag, ierror)
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Is_thread_main
end interface
interface MPI_Op_commutative
subroutine MPI_Op_commutative(op, commute, ierror)
integer, intent(in) :: op
logical, intent(out) :: commute
integer, intent(out) :: ierror
end subroutine MPI_Op_commutative
end interface
interface MPI_Op_create
subroutine MPI_Op_create(function, commute, op, ierror)
external :: function
logical, intent(in) :: commute
integer, intent(out) :: op
integer, intent(out) :: ierror
end subroutine MPI_Op_create
end interface
interface MPI_Op_free
subroutine MPI_Op_free(op, ierror)
integer, intent(inout) :: op
integer, intent(out) :: ierror
end subroutine MPI_Op_free
end interface
interface MPI_Pack_external_size
subroutine MPI_Pack_external_size(datarep, incount, datatype, size, ierror)
include 'mpif-config.h'
character(len=*), intent(in) :: datarep
integer, intent(in) :: incount
integer, intent(in) :: datatype
integer(kind=MPI_ADDRESS_KIND), intent(out) :: size
integer, intent(out) :: ierror
end subroutine MPI_Pack_external_size
end interface
interface MPI_Pack_size
subroutine MPI_Pack_size(incount, datatype, comm, size, ierror)
integer, intent(in) :: incount
integer, intent(in) :: datatype
integer, intent(in) :: comm
integer, intent(out) :: size
integer, intent(out) :: ierror
end subroutine MPI_Pack_size
end interface
interface MPI_Pcontrol
subroutine MPI_Pcontrol(level)
integer, intent(in) :: level
end subroutine MPI_Pcontrol
end interface
interface MPI_Probe
subroutine MPI_Probe(source, tag, comm, status, ierror)
include 'mpif-config.h'
integer, intent(in) :: source
integer, intent(in) :: tag
integer, intent(in) :: comm
integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Probe
end interface
interface MPI_Query_thread
subroutine MPI_Query_thread(provided, ierror)
integer, intent(out) :: provided
integer, intent(out) :: ierror
end subroutine MPI_Query_thread
end interface
interface MPI_Register_datarep
subroutine MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state&
, ierror)
include 'mpif-config.h'
character(len=*), intent(in) :: datarep
external :: read_conversion_fn
external :: write_conversion_fn
external :: dtype_file_extent_fn
integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
integer, intent(out) :: ierror
end subroutine MPI_Register_datarep
end interface
interface MPI_Request_free
subroutine MPI_Request_free(request, ierror)
integer, intent(inout) :: request
integer, intent(out) :: ierror
end subroutine MPI_Request_free
end interface
interface MPI_Request_get_status
subroutine MPI_Request_get_status(request, flag, status, ierror)
include 'mpif-config.h'
integer, intent(in) :: request
logical, intent(out) :: flag
integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Request_get_status
end interface
interface MPI_Start
subroutine MPI_Start(request, ierror)
integer, intent(inout) :: request
integer, intent(out) :: ierror
end subroutine MPI_Start
end interface
interface MPI_Startall
subroutine MPI_Startall(count, array_of_requests, ierror)
integer, intent(in) :: count
integer, dimension(*), intent(inout) :: array_of_requests
integer, intent(out) :: ierror
end subroutine MPI_Startall
end interface
interface MPI_Status_set_cancelled
subroutine MPI_Status_set_cancelled(status, flag, ierror)
include 'mpif-config.h'
integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status
logical, intent(in) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Status_set_cancelled
end interface
interface MPI_Status_set_elements
subroutine MPI_Status_set_elements(status, datatype, count, ierror)
include 'mpif-config.h'
integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status
integer, intent(in) :: datatype
integer, intent(in) :: count
integer, intent(out) :: ierror
end subroutine MPI_Status_set_elements
end interface
interface MPI_Test
subroutine MPI_Test(request, flag, status, ierror)
include 'mpif-config.h'
integer, intent(inout) :: request
logical, intent(out) :: flag
integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Test
end interface
interface MPI_Test_cancelled
subroutine MPI_Test_cancelled(status, flag, ierror)
include 'mpif-config.h'
integer, dimension(MPI_STATUS_SIZE), intent(in) :: status
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Test_cancelled
end interface
interface MPI_Testall
subroutine MPI_Testall(count, array_of_requests, flag, array_of_statuses, ierror)
include 'mpif-config.h'
integer, intent(in) :: count
integer, dimension(count), intent(inout) :: array_of_requests
logical, intent(out) :: flag
integer, dimension(MPI_STATUS_SIZE, count), intent(out) :: array_of_statuses
integer, intent(out) :: ierror
end subroutine MPI_Testall
end interface
interface MPI_Testany
subroutine MPI_Testany(count, array_of_requests, index, flag, status&
, ierror)
include 'mpif-config.h'
integer, intent(in) :: count
integer, dimension(count), intent(inout) :: array_of_requests
integer, intent(out) :: index
logical, intent(out) :: flag
integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Testany
end interface
interface MPI_Testsome
subroutine MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses&
, ierror)
include 'mpif-config.h'
integer, intent(in) :: incount
integer, dimension(incount), intent(inout) :: array_of_requests
integer, intent(out) :: outcount
integer, dimension(*), intent(out) :: array_of_indices
integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses
integer, intent(out) :: ierror
end subroutine MPI_Testsome
end interface
interface MPI_Topo_test
subroutine MPI_Topo_test(comm, status, ierror)
integer, intent(in) :: comm
integer, intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Topo_test
end interface
interface MPI_Type_commit
subroutine MPI_Type_commit(datatype, ierror)
integer, intent(inout) :: datatype
integer, intent(out) :: ierror
end subroutine MPI_Type_commit
end interface
interface MPI_Type_contiguous
subroutine MPI_Type_contiguous(count, oldtype, newtype, ierror)
integer, intent(in) :: count
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_contiguous
end interface
interface MPI_Type_create_darray
subroutine MPI_Type_create_darray(size, rank, ndims, gsize_array, distrib_array, &
darg_array, psize_array, order, oldtype, newtype, ierror)
integer, intent(in) :: size
integer, intent(in) :: rank
integer, intent(in) :: ndims
integer, dimension(*), intent(in) :: gsize_array
integer, dimension(*), intent(in) :: distrib_array
integer, dimension(*), intent(in) :: darg_array
integer, dimension(*), intent(in) :: psize_array
integer, intent(in) :: order
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_darray
end interface
interface MPI_Type_create_f90_complex
subroutine MPI_Type_create_f90_complex(p, r, newtype, ierror)
integer, intent(in) :: p
integer, intent(in) :: r
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_f90_complex
end interface
interface MPI_Type_create_f90_integer
subroutine MPI_Type_create_f90_integer(r, newtype, ierror)
integer, intent(in) :: r
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_f90_integer
end interface
interface MPI_Type_create_f90_real
subroutine MPI_Type_create_f90_real(p, r, newtype, ierror)
integer, intent(in) :: p
integer, intent(in) :: r
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_f90_real
end interface
interface MPI_Type_create_hindexed
subroutine MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype&
, ierror)
include 'mpif-config.h'
integer, intent(in) :: count
integer, dimension(*), intent(in) :: array_of_blocklengths
integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_hindexed
end interface
interface MPI_Type_create_hvector
subroutine MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype&
, ierror)
include 'mpif-config.h'
integer, intent(in) :: count
integer, intent(in) :: blocklength
integer(kind=MPI_ADDRESS_KIND), intent(in) :: stride
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_hvector
end interface
interface MPI_Type_create_indexed_block
subroutine MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype&
, ierror)
integer, intent(in) :: count
integer, intent(in) :: blocklength
integer, dimension(*), intent(in) :: array_of_displacements
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_indexed_block
end interface
interface MPI_Type_create_keyval
subroutine MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state, ierror)
include 'mpif-config.h'
external :: type_copy_attr_fn
external :: type_delete_attr_fn
integer, intent(out) :: type_keyval
integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
integer, intent(out) :: ierror
end subroutine MPI_Type_create_keyval
end interface
interface MPI_Type_create_resized
subroutine MPI_Type_create_resized(oldtype, lb, extent, newtype, ierror)
include 'mpif-config.h'
integer, intent(in) :: oldtype
integer(kind=MPI_ADDRESS_KIND), intent(in) :: lb
integer(kind=MPI_ADDRESS_KIND), intent(in) :: extent
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_resized
end interface
interface MPI_Type_create_struct
subroutine MPI_Type_create_struct(count, array_of_block_lengths, array_of_displacements, array_of_types, newtype&
, ierror)
include 'mpif-config.h'
integer, intent(in) :: count
integer, dimension(*), intent(in) :: array_of_block_lengths
integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements
integer, dimension(*), intent(in) :: array_of_types
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_struct
end interface
interface MPI_Type_create_subarray
subroutine MPI_Type_create_subarray(ndims, size_array, subsize_array, start_array, order, &
oldtype, newtype, ierror)
integer, intent(in) :: ndims
integer, dimension(*), intent(in) :: size_array
integer, dimension(*), intent(in) :: subsize_array
integer, dimension(*), intent(in) :: start_array
integer, intent(in) :: order
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_subarray
end interface
interface MPI_Type_delete_attr
subroutine MPI_Type_delete_attr(datatype, type_keyval, ierror)
integer, intent(in) :: datatype
integer, intent(in) :: type_keyval
integer, intent(out) :: ierror
end subroutine MPI_Type_delete_attr
end interface
interface MPI_Type_dup
subroutine MPI_Type_dup(oldtype, newtype, ierror)
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_dup
end interface
interface MPI_Type_free
subroutine MPI_Type_free(datatype, ierror)
integer, intent(inout) :: datatype
integer, intent(out) :: ierror
end subroutine MPI_Type_free
end interface
interface MPI_Type_free_keyval
subroutine MPI_Type_free_keyval(type_keyval, ierror)
integer, intent(inout) :: type_keyval
integer, intent(out) :: ierror
end subroutine MPI_Type_free_keyval
end interface
interface MPI_Type_get_attr
subroutine MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag, ierror)
include 'mpif-config.h'
integer, intent(in) :: datatype
integer, intent(in) :: type_keyval
integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Type_get_attr
end interface
interface MPI_Type_get_contents
subroutine MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, &
array_of_addresses, array_of_datatypes, ierror)
include 'mpif-config.h'
integer, intent(in) :: datatype
integer, intent(in) :: max_integers
integer, intent(in) :: max_addresses
integer, intent(in) :: max_datatypes
integer, dimension(*), intent(out) :: array_of_integers
integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(out) :: array_of_addresses
integer, dimension(*), intent(out) :: array_of_datatypes
integer, intent(out) :: ierror
end subroutine MPI_Type_get_contents
end interface
interface MPI_Type_get_envelope
subroutine MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner&
, ierror)
integer, intent(in) :: datatype
integer, intent(out) :: num_integers
integer, intent(out) :: num_addresses
integer, intent(out) :: num_datatypes
integer, intent(out) :: combiner
integer, intent(out) :: ierror
end subroutine MPI_Type_get_envelope
end interface
interface MPI_Type_get_extent
subroutine MPI_Type_get_extent(datatype, lb, extent, ierror)
include 'mpif-config.h'
integer, intent(in) :: datatype
integer(kind=MPI_ADDRESS_KIND), intent(out) :: lb
integer(kind=MPI_ADDRESS_KIND), intent(out) :: extent
integer, intent(out) :: ierror
end subroutine MPI_Type_get_extent
end interface
interface MPI_Type_get_extent_x
subroutine MPI_Type_get_extent_x(datatype, lb, extent, ierror)
include 'mpif-config.h'
integer, intent(in) :: datatype
integer(kind=MPI_COUNT_KIND), intent(out) :: lb
integer(kind=MPI_COUNT_KIND), intent(out) :: extent
integer, intent(out) :: ierror
end subroutine MPI_Type_get_extent_x
end interface
interface MPI_Type_get_name
subroutine MPI_Type_get_name(datatype, type_name, resultlen, ierror)
integer, intent(in) :: datatype
character(len=*), intent(out) :: type_name
integer, intent(out) :: resultlen
integer, intent(out) :: ierror
end subroutine MPI_Type_get_name
end interface
interface MPI_Type_get_true_extent
subroutine MPI_Type_get_true_extent(datatype, true_lb, true_extent, ierror)
include 'mpif-config.h'
integer, intent(in) :: datatype
integer(kind=MPI_ADDRESS_KIND), intent(out) :: true_lb
integer(kind=MPI_ADDRESS_KIND), intent(out) :: true_extent
integer, intent(out) :: ierror
end subroutine MPI_Type_get_true_extent
end interface
interface MPI_Type_get_true_extent_x
subroutine MPI_Type_get_true_extent_x(datatype, true_lb, true_extent, ierror)
include 'mpif-config.h'
integer, intent(in) :: datatype
integer(kind=MPI_COUNT_KIND), intent(out) :: true_lb
integer(kind=MPI_COUNT_KIND), intent(out) :: true_extent
integer, intent(out) :: ierror
end subroutine MPI_Type_get_true_extent_x
end interface
interface MPI_Type_indexed
subroutine MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype&
, ierror)
integer, intent(in) :: count
integer, dimension(*), intent(in) :: array_of_blocklengths
integer, dimension(*), intent(in) :: array_of_displacements
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_indexed
end interface
interface MPI_Type_match_size
subroutine MPI_Type_match_size(typeclass, size, datatype, ierror)
integer, intent(in) :: typeclass
integer, intent(in) :: size
integer, intent(out) :: datatype
integer, intent(out) :: ierror
end subroutine MPI_Type_match_size
end interface
interface MPI_Type_set_attr
subroutine MPI_Type_set_attr(datatype, type_keyval, attr_val, ierror)
include 'mpif-config.h'
integer, intent(in) :: datatype
integer, intent(in) :: type_keyval
integer(kind=MPI_ADDRESS_KIND), intent(in) :: attr_val
integer, intent(out) :: ierror
end subroutine MPI_Type_set_attr
end interface
interface MPI_Type_set_name
subroutine MPI_Type_set_name(datatype, type_name, ierror)
integer, intent(in) :: datatype
character(len=*), intent(in) :: type_name
integer, intent(out) :: ierror
end subroutine MPI_Type_set_name
end interface
interface MPI_Type_size
subroutine MPI_Type_size(datatype, size, ierror)
integer, intent(in) :: datatype
integer, intent(out) :: size
integer, intent(out) :: ierror
end subroutine MPI_Type_size
end interface
interface MPI_Type_size_x
subroutine MPI_Type_size_x(datatype, size, ierror)
include 'mpif-config.h'
integer, intent(in) :: datatype
integer(kind=MPI_COUNT_KIND), intent(out) :: size
integer, intent(out) :: ierror
end subroutine MPI_Type_size_x
end interface
interface MPI_Type_vector
subroutine MPI_Type_vector(count, blocklength, stride, oldtype, newtype&
, ierror)
integer, intent(in) :: count
integer, intent(in) :: blocklength
integer, intent(in) :: stride
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_vector
end interface
interface MPI_Wait
subroutine MPI_Wait(request, status, ierror)
include 'mpif-config.h'
integer, intent(inout) :: request
integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Wait
end interface
interface MPI_Waitall
subroutine MPI_Waitall(count, array_of_requests, array_of_statuses, ierror)
include 'mpif-config.h'
integer, intent(in) :: count
integer, dimension(count), intent(inout) :: array_of_requests
integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses
integer, intent(out) :: ierror
end subroutine MPI_Waitall
end interface
interface MPI_Waitany
subroutine MPI_Waitany(count, array_of_requests, index, status, ierror)
include 'mpif-config.h'
integer, intent(in) :: count
integer, dimension(count), intent(inout) :: array_of_requests
integer, intent(out) :: index
integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Waitany
end interface
interface MPI_Waitsome
subroutine MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses&
, ierror)
include 'mpif-config.h'
integer, intent(in) :: incount
integer, dimension(incount), intent(inout) :: array_of_requests
integer, intent(out) :: outcount
integer, dimension(*), intent(out) :: array_of_indices
integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses
integer, intent(out) :: ierror
end subroutine MPI_Waitsome
end interface
interface MPI_Win_call_errhandler
subroutine MPI_Win_call_errhandler(win, errorcode, ierror)
integer, intent(in) :: win
integer, intent(in) :: errorcode
integer, intent(out) :: ierror
end subroutine MPI_Win_call_errhandler
end interface
interface MPI_Win_complete
subroutine MPI_Win_complete(win, ierror)
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_complete
end interface
interface MPI_Win_create_errhandler
subroutine MPI_Win_create_errhandler(function, errhandler, ierror)
external :: function
integer, intent(out) :: errhandler
integer, intent(out) :: ierror
end subroutine MPI_Win_create_errhandler
end interface
interface MPI_Win_create_keyval
subroutine MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state, ierror)
include 'mpif-config.h'
external :: win_copy_attr_fn
external :: win_delete_attr_fn
integer, intent(out) :: win_keyval
integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
integer, intent(out) :: ierror
end subroutine MPI_Win_create_keyval
end interface
interface MPI_Win_delete_attr
subroutine MPI_Win_delete_attr(win, win_keyval, ierror)
integer, intent(in) :: win
integer, intent(in) :: win_keyval
integer, intent(out) :: ierror
end subroutine MPI_Win_delete_attr
end interface
interface MPI_Win_fence
subroutine MPI_Win_fence(assert, win, ierror)
integer, intent(in) :: assert
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_fence
end interface
interface MPI_Win_free
subroutine MPI_Win_free(win, ierror)
integer, intent(inout) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_free
end interface
interface MPI_Win_free_keyval
subroutine MPI_Win_free_keyval(win_keyval, ierror)
integer, intent(inout) :: win_keyval
integer, intent(out) :: ierror
end subroutine MPI_Win_free_keyval
end interface
interface MPI_Win_get_attr
subroutine MPI_Win_get_attr(win, win_keyval, attribute_val, flag, ierror)
include 'mpif-config.h'
integer, intent(in) :: win
integer, intent(in) :: win_keyval
integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Win_get_attr
end interface
interface MPI_Win_get_errhandler
subroutine MPI_Win_get_errhandler(win, errhandler, ierror)
integer, intent(in) :: win
integer, intent(out) :: errhandler
integer, intent(out) :: ierror
end subroutine MPI_Win_get_errhandler
end interface
interface MPI_Win_get_group
subroutine MPI_Win_get_group(win, group, ierror)
integer, intent(in) :: win
integer, intent(out) :: group
integer, intent(out) :: ierror
end subroutine MPI_Win_get_group
end interface
interface MPI_Win_get_name
subroutine MPI_Win_get_name(win, win_name, resultlen, ierror)
integer, intent(in) :: win
character(len=*), intent(out) :: win_name
integer, intent(out) :: resultlen
integer, intent(out) :: ierror
end subroutine MPI_Win_get_name
end interface
interface MPI_Win_lock
subroutine MPI_Win_lock(lock_type, rank, assert, win, ierror)
integer, intent(in) :: lock_type
integer, intent(in) :: rank
integer, intent(in) :: assert
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_lock
end interface
interface MPI_Win_post
subroutine MPI_Win_post(group, assert, win, ierror)
integer, intent(in) :: group
integer, intent(in) :: assert
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_post
end interface
interface MPI_Win_set_attr
subroutine MPI_Win_set_attr(win, win_keyval, attribute_val, ierror)
include 'mpif-config.h'
integer, intent(in) :: win
integer, intent(in) :: win_keyval
integer(kind=MPI_ADDRESS_KIND), intent(in) :: attribute_val
integer, intent(out) :: ierror
end subroutine MPI_Win_set_attr
end interface
interface MPI_Win_set_errhandler
subroutine MPI_Win_set_errhandler(win, errhandler, ierror)
integer, intent(in) :: win
integer, intent(in) :: errhandler
integer, intent(out) :: ierror
end subroutine MPI_Win_set_errhandler
end interface
interface MPI_Win_set_name
subroutine MPI_Win_set_name(win, win_name, ierror)
integer, intent(in) :: win
character(len=*), intent(in) :: win_name
integer, intent(out) :: ierror
end subroutine MPI_Win_set_name
end interface
interface MPI_Win_start
subroutine MPI_Win_start(group, assert, win, ierror)
integer, intent(in) :: group
integer, intent(in) :: assert
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_start
end interface
interface MPI_Win_test
subroutine MPI_Win_test(win, flag, ierror)
integer, intent(in) :: win
logical, intent(out) :: flag
integer, intent(out) :: ierror
end subroutine MPI_Win_test
end interface
interface MPI_Win_unlock
subroutine MPI_Win_unlock(rank, win, ierror)
integer, intent(in) :: rank
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_unlock
end interface
interface MPI_Win_wait
subroutine MPI_Win_wait(win, ierror)
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_wait
end interface
interface MPI_Close_port
subroutine MPI_Close_port(port_name, ierror)
character(len=*), intent(in) :: port_name
integer, intent(out) :: ierror
end subroutine MPI_Close_port
end interface
interface MPI_Lookup_name
subroutine MPI_Lookup_name(service_name, info, port_name, ierror)
character(len=*), intent(in) :: service_name
integer, intent(in) :: info
character(len=*), intent(out) :: port_name
integer, intent(out) :: ierror
end subroutine MPI_Lookup_name
end interface
interface MPI_Open_port
subroutine MPI_Open_port(info, port_name, ierror)
integer, intent(in) :: info
character(len=*), intent(out) :: port_name
integer, intent(out) :: ierror
end subroutine MPI_Open_port
end interface
interface MPI_Publish_name
subroutine MPI_Publish_name(service_name, info, port_name, ierror)
character(len=*), intent(in) :: service_name
integer, intent(in) :: info
character(len=*), intent(in) :: port_name
integer, intent(out) :: ierror
end subroutine MPI_Publish_name
end interface
interface MPI_Unpublish_name
subroutine MPI_Unpublish_name(service_name, info, port_name, ierror)
character(len=*), intent(in) :: service_name
integer, intent(in) :: info
character(len=*), intent(in) :: port_name
integer, intent(out) :: ierror
end subroutine MPI_Unpublish_name
end interface
interface MPI_Comm_disconnect
subroutine MPI_Comm_disconnect(comm, ierror)
integer, intent(inout) :: comm
integer, intent(out) :: ierror
end subroutine MPI_Comm_disconnect
end interface
interface MPI_Comm_get_parent
subroutine MPI_Comm_get_parent(parent, ierror)
integer, intent(out) :: parent
integer, intent(out) :: ierror
end subroutine MPI_Comm_get_parent
end interface
interface MPI_Comm_join
subroutine MPI_Comm_join(fd, intercomm, ierror)
integer, intent(in) :: fd
integer, intent(out) :: intercomm
integer, intent(out) :: ierror
end subroutine MPI_Comm_join
end interface
interface MPI_Comm_accept
subroutine MPI_Comm_accept(port_name, info, root, comm, newcomm&
, ierror)
character(len=*), intent(in) :: port_name
integer, intent(in) :: info
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(out) :: newcomm
integer, intent(out) :: ierror
end subroutine MPI_Comm_accept
end interface
interface MPI_Comm_connect
subroutine MPI_Comm_connect(port_name, info, root, comm, newcomm&
, ierror)
character(len=*), intent(in) :: port_name
integer, intent(in) :: info
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(out) :: newcomm
integer, intent(out) :: ierror
end subroutine MPI_Comm_connect
end interface
interface MPI_Comm_spawn
subroutine MPI_Comm_spawn(command, argv, maxprocs, info, root, &
comm, intercomm, array_of_errcodes, ierror)
character(len=*), intent(in) :: command
character(len=*), dimension(*), intent(in) :: argv
integer, intent(in) :: maxprocs
integer, intent(in) :: info
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(out) :: intercomm
integer, dimension(*), intent(out) :: array_of_errcodes
integer, intent(out) :: ierror
end subroutine MPI_Comm_spawn
end interface
interface MPI_Comm_spawn_multiple
subroutine MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
root, comm, intercomm, array_of_errcodes, ierror)
integer, intent(in) :: count
character(len=*), dimension(*), intent(in) :: array_of_commands
character(len=*), dimension(count,*), intent(in) :: array_of_argv
integer, dimension(*), intent(in) :: array_of_maxprocs
integer, dimension(*), intent(in) :: array_of_info
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(out) :: intercomm
integer, dimension(*), intent(out) :: array_of_errcodes
integer, intent(out) :: ierror
end subroutine MPI_Comm_spawn_multiple
end interface
interface MPI_Mprobe
subroutine MPI_Mprobe(source, tag, comm, message, status, ierror)
include 'mpif-config.h'
integer, intent(in) :: source
integer, intent(in) :: tag
integer, intent(in) :: comm
integer, intent(out) :: message
integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Mprobe
end interface
interface MPI_Improbe
subroutine MPI_Improbe(source, tag, comm, flag, message, status, ierror)
include 'mpif-config.h'
integer, intent(in) :: source
integer, intent(in) :: tag
integer, intent(in) :: comm
logical, intent(out) :: flag
integer, intent(out) :: message
integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
integer, intent(out) :: ierror
end subroutine MPI_Improbe
end interface
interface MPI_Get_library_version
subroutine MPI_Get_library_version(version, resultlen, ierror)
character(len=*), intent(out) :: version
integer, intent(out) :: resultlen
integer, intent(out) :: ierror
end subroutine MPI_Get_library_version
end interface
interface MPI_Comm_split_type
subroutine MPI_Comm_split_type(comm, split_type, key, info, newcomm, ierror)
integer, intent(in) :: comm
integer, intent(in) :: split_type
integer, intent(in) :: key
integer, intent(in) :: info
integer, intent(out) :: newcomm
integer, intent(out) :: ierror
end subroutine MPI_Comm_split_type
end interface
interface MPI_Type_create_hindexed_block
subroutine MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype&
, ierror)
include 'mpif-config.h'
integer, intent(in) :: count
integer, intent(in) :: blocklength
integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements
integer, intent(in) :: oldtype
integer, intent(out) :: newtype
integer, intent(out) :: ierror
end subroutine MPI_Type_create_hindexed_block
end interface
interface MPI_Dist_graph_create
subroutine MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, &
weights, info, reorder, comm_dist_graph, ierror)
integer, intent(in) :: comm_old
integer, intent(in) :: n
integer, dimension(n), intent(in) :: sources
integer, dimension(n), intent(in) :: degrees
integer, dimension(n), intent(in) :: destinations
integer, dimension(n), intent(in) :: weights
integer, intent(in) :: info
logical, intent(in) :: reorder
integer, intent(out) :: comm_dist_graph
integer, intent(out) :: ierror
end subroutine MPI_Dist_graph_create
end interface
interface MPI_Dist_graph_create_adjacent
subroutine MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, &
outdegree, destinations, destweights, info, reorder, &
comm_dist_graph, ierror)
integer, intent(in) :: comm_old
integer, intent(in) :: indegree
integer, dimension(indegree), intent(in) :: sources
integer, dimension(indegree), intent(in) :: sourceweights
integer, intent(in) :: outdegree
integer, dimension(outdegree), intent(in) :: destinations
integer, dimension(outdegree), intent(in) :: destweights
integer, intent(in) :: info
logical, intent(in) :: reorder
integer, intent(out) :: comm_dist_graph
integer, intent(out) :: ierror
end subroutine MPI_Dist_graph_create_adjacent
end interface
interface MPI_Dist_graph_neighbors_count
subroutine MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted, ierror)
integer, intent(in) :: comm
integer, intent(out) :: indegree
integer, intent(out) :: outdegree
logical, intent(out) :: weighted
integer, intent(out) :: ierror
end subroutine MPI_Dist_graph_neighbors_count
end interface
interface MPI_Dist_graph_neighbors
subroutine MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, &
maxoutdegree, destinations, destweights, ierror)
integer, intent(in) :: comm
integer, intent(in) :: maxindegree
integer, dimension(maxindegree), intent(out) :: sources
integer, dimension(maxindegree), intent(out) :: sourceweights
integer, intent(in) :: maxoutdegree
integer, dimension(maxoutdegree), intent(out) :: destinations
integer, dimension(maxoutdegree), intent(out) :: destweights
integer, intent(out) :: ierror
end subroutine MPI_Dist_graph_neighbors
end interface
interface MPI_Win_flush
subroutine MPI_Win_flush(rank, win, ierror)
integer, intent(in) :: rank
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_flush
end interface
interface MPI_Win_flush_all
subroutine MPI_Win_flush_all(win, ierror)
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_flush_all
end interface
interface MPI_Win_flush_local
subroutine MPI_Win_flush_local(rank, win, ierror)
integer, intent(in) :: rank
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_flush_local
end interface
interface MPI_Win_flush_local_all
subroutine MPI_Win_flush_local_all(win, ierror)
integer, intent(in) :: win
integer, intent(out) :: ierror
end subroutine MPI_Win_flush_local_all
end interface