1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! $COPYRIGHT$
!
! This file provides the interface specifications for the MPI Fortran
! API bindings. It effectively maps between public names ("MPI_Init")
! and the back-end implementation subroutine name (e.g., "ompi_init_f").
interface
subroutine ompi_comm_rank_f(comm,rank,ierror) &
BIND(C, name="ompi_comm_rank_f")
use :: mpi_f08_types
implicit none
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(OUT) :: rank
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_comm_rank_f
subroutine ompi_comm_size_f(comm,size,ierror) &
BIND(C, name="ompi_comm_size_f")
use :: mpi_f08_types
implicit none
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(OUT) :: size
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_comm_size_f
subroutine ompi_finalize_f(ierror) &
BIND(C, name="ompi_finalize_f")
use :: mpi_f08_types
implicit none
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_finalize_f
subroutine ompi_init_f(ierror) &
BIND(C, name="ompi_init_f")
use :: mpi_f08_types
implicit none
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_init_f
! ompi_send_f/ompi_recv_f interfaces not needed as they are called from C
!
subroutine ompi_type_commit_f(datatype,ierror) &
BIND(C, name="ompi_type_commit_f")
use :: mpi_f08_types
implicit none
INTEGER, INTENT(INOUT) :: datatype
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_type_commit_f
subroutine ompi_type_contiguous_f(count,oldtype,newtype,ierror) &
BIND(C, name="ompi_type_contiguous_f")
use :: mpi_f08_types
implicit none
INTEGER, INTENT(IN) :: count
INTEGER, INTENT(IN) :: oldtype
INTEGER, INTENT(OUT) :: newtype
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_type_contiguous_f
subroutine ompi_type_vector_f(count,blocklength,stride,oldtype,newtype,ierror) &
BIND(C, name="ompi_type_vector_f")
use :: mpi_f08_types
implicit none
INTEGER, INTENT(IN) :: count, blocklength, stride
INTEGER, INTENT(IN) :: oldtype
INTEGER, INTENT(OUT) :: newtype
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_type_vector_f
end interface
|