d75bde8b35
This commit was SVN r7037.
15358 строки
442 KiB
Bash
Исполняемый файл
15358 строки
442 KiB
Bash
Исполняемый файл
#! /bin/sh
|
|
# -*- shell-script -*-
|
|
#
|
|
# Copyright (c) 2004-2005 The Trustees of Indiana University.
|
|
# All rights reserved.
|
|
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
|
# 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$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
# Do a little error checking
|
|
|
|
if test ! -r "$1/fortran_kinds.sh"; then
|
|
echo "ERROR: Cannot find $1/fortran_kinds.sh"
|
|
exit 1
|
|
elif test ! -s "$1/fortran_kinds.sh"; then
|
|
echo "ERROR: $1/fortran_kinds.sh appears to be empty!"
|
|
exit 1
|
|
fi
|
|
|
|
# Read the setup information
|
|
|
|
echo "Reading Fortran KIND information..." >&2
|
|
. "$1/fortran_kinds.sh"
|
|
|
|
# Do the work
|
|
|
|
echo "Generating F90 interface functions..." >&2
|
|
|
|
# Setup
|
|
|
|
rank=2
|
|
array_ranks="1"
|
|
while test "`expr $rank \\<= $max_array_rank`" = "1"; do
|
|
array_ranks="$array_ranks $rank"
|
|
rank="`expr $rank + 1`"
|
|
done
|
|
|
|
# Subroutine helper used to make dimension strings
|
|
|
|
make_dims() {
|
|
dim=":"
|
|
j=2
|
|
while test "`expr $j \\<= $rank`" = "1"; do
|
|
dim="$dim,:"
|
|
j="`expr $j + 1`"
|
|
done
|
|
}
|
|
|
|
# Work for each procedure
|
|
|
|
procedure='MPI_Abort'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, errorcode, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: errorcode"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Accumulate'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, op, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, op, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, op, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, op, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, op, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, op, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, op, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, op, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Add_error_class'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(errorclass, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: errorclass"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Add_error_code'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(errorclass, errorcode, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: errorclass"
|
|
echo " integer, intent(out) :: errorcode"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Add_error_string'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(errorcode, string, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: errorcode"
|
|
echo " character(len=*), intent(in) :: string"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Address'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Allgather'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Allgatherv'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Alloc_mem'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(size, info, baseptr, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: size"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: baseptr"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Allreduce'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Alltoall'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Alltoallv'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
|
|
recvcounts, rdispls, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
|
|
recvcounts, rdispls, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
|
|
recvcounts, rdispls, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
|
|
recvcounts, rdispls, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
|
|
recvcounts, rdispls, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
|
|
recvcounts, rdispls, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
|
|
recvcounts, rdispls, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
|
|
recvcounts, rdispls, recvtype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Alltoallw'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
|
|
recvcounts, rdispls, recvtypes, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, dimension(*), intent(in) :: sendtypes"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, dimension(*), intent(in) :: recvtypes"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
|
|
recvcounts, rdispls, recvtypes, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, dimension(*), intent(in) :: sendtypes"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, dimension(*), intent(in) :: recvtypes"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
|
|
recvcounts, rdispls, recvtypes, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, dimension(*), intent(in) :: sendtypes"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, dimension(*), intent(in) :: recvtypes"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
|
|
recvcounts, rdispls, recvtypes, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, dimension(*), intent(in) :: sendtypes"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, dimension(*), intent(in) :: recvtypes"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
|
|
recvcounts, rdispls, recvtypes, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, dimension(*), intent(in) :: sendtypes"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, dimension(*), intent(in) :: recvtypes"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
|
|
recvcounts, rdispls, recvtypes, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, dimension(*), intent(in) :: sendtypes"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, dimension(*), intent(in) :: recvtypes"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
|
|
recvcounts, rdispls, recvtypes, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, dimension(*), intent(in) :: sendtypes"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, dimension(*), intent(in) :: recvtypes"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
|
|
recvcounts, rdispls, recvtypes, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, dimension(*), intent(in) :: sendcounts"
|
|
echo " integer, dimension(*), intent(in) :: sdispls"
|
|
echo " integer, dimension(*), intent(in) :: sendtypes"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: rdispls"
|
|
echo " integer, dimension(*), intent(in) :: recvtypes"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Attr_delete'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, keyval, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: keyval"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Attr_get'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, keyval, attribute_val, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: keyval"
|
|
echo " integer, intent(out) :: attribute_val"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Attr_put'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, keyval, attribute_val, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: keyval"
|
|
echo " integer, intent(in) :: attribute_val"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Barrier'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Bcast'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buffer, count, datatype, root, comm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buffer, count, datatype, root, comm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buffer, count, datatype, root, comm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buffer, count, datatype, root, comm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buffer, count, datatype, root, comm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buffer, count, datatype, root, comm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buffer, count, datatype, root, comm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buffer, count, datatype, root, comm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Bsend'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Bsend_init'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Buffer_attach'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buffer"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Buffer_detach'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buffer"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buffer"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buffer"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buffer"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buffer"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buffer"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buffer"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buffer, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buffer"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Cancel'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Cart_coords'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, rank, maxdims, coords, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: rank"
|
|
echo " integer, intent(in) :: maxdims"
|
|
echo " integer, dimension(*), intent(out) :: coords"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Cart_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(old_comm, ndims, dims, periods, reorder, &
|
|
comm_cart, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: old_comm"
|
|
echo " integer, intent(in) :: ndims"
|
|
echo " integer, dimension(*), intent(in) :: dims"
|
|
echo " integer, dimension(*), intent(in) :: periods"
|
|
echo " integer, intent(in) :: reorder"
|
|
echo " integer, intent(out) :: comm_cart"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Cart_get'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, maxdims, dims, periods, coords&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: maxdims"
|
|
echo " integer, dimension(*), intent(out) :: dims"
|
|
echo " integer, dimension(*), intent(out) :: periods"
|
|
echo " integer, dimension(*), intent(out) :: coords"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Cart_map'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, ndims, dims, periods, newrank&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: ndims"
|
|
echo " integer, dimension(*), intent(in) :: dims"
|
|
echo " integer, dimension(*), intent(in) :: periods"
|
|
echo " integer, intent(out) :: newrank"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Cart_rank'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, coords, rank, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(*), intent(in) :: coords"
|
|
echo " integer, intent(out) :: rank"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Cart_shift'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, direction, disp, rank_source, rank_dest&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: direction"
|
|
echo " integer, intent(in) :: disp"
|
|
echo " integer, intent(out) :: rank_source"
|
|
echo " integer, intent(out) :: rank_dest"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Cart_sub'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, remain_dims, new_comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(*), intent(in) :: remain_dims"
|
|
echo " integer, intent(out) :: new_comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Cartdim_get'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, ndims, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ndims"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_call_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, errorcode, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: errorcode"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_compare'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm1, comm2, result, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm1"
|
|
echo " integer, intent(in) :: comm2"
|
|
echo " integer, intent(out) :: result"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, group, newcomm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: group"
|
|
echo " integer, intent(out) :: newcomm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_create_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(function, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: function"
|
|
echo " integer, intent(out) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_create_keyval'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: comm_copy_attr_fn"
|
|
echo " external :: comm_delete_attr_fn"
|
|
echo " integer, intent(out) :: comm_keyval"
|
|
echo " integer, intent(in) :: extra_state"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_delete_attr'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, comm_keyval, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: comm"
|
|
echo " integer, intent(in) :: comm_keyval"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_dup'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, newcomm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: newcomm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_free'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_free_keyval'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm_keyval, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: comm_keyval"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_get_attr'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, comm_keyval, attribute_val, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: comm_keyval"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_get_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, erhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: erhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_get_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, comm_name, resultlen, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " character(len=*), intent(out) :: comm_name"
|
|
echo " integer, intent(out) :: resultlen"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_group'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, group, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: group"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_rank'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, rank, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: rank"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_remote_group'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, group, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: group"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_remote_size'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_set_attr'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, comm_keyval, attribute_val, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: comm"
|
|
echo " integer, intent(in) :: comm_keyval"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: attribute_val"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_set_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: comm"
|
|
echo " integer, intent(in) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_set_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, comm_name, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: comm"
|
|
echo " character(len=*), intent(in) :: comm_name"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_size'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_split'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, color, key, newcomm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: color"
|
|
echo " integer, intent(in) :: key"
|
|
echo " integer, intent(out) :: newcomm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_test_inter'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: comm"
|
|
echo " integer, intent(in) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Dims_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(nnodes, ndims, dims, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: nnodes"
|
|
echo " integer, intent(in) :: ndims"
|
|
echo " integer, dimension(*), intent(inout) :: dims"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Errhandler_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(function, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: function"
|
|
echo " integer, intent(out) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Errhandler_free'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Errhandler_get'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Errhandler_set'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Error_class'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(errorcode, errorclass, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: errorcode"
|
|
echo " integer, intent(out) :: errorclass"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Error_string'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(errorcode, string, resultlen, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: errorcode"
|
|
echo " character(len=*), intent(out) :: string"
|
|
echo " integer, intent(out) :: resultlen"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Exscan'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_call_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, errorcode, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer, intent(in) :: errorcode"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_close'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_create_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(function, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: function"
|
|
echo " integer, intent(out) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_delete'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(filename, info, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: filename"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_amode'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, amode, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer, intent(out) :: amode"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_atomicity'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_byte_offset'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, offset, disp, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(out) :: disp"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(file, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: file"
|
|
echo " integer, intent(out) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_group'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, group, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer, intent(out) :: group"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_info'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, info_used, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer, intent(out) :: info_used"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_position'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, offset, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(out) :: offset"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_position_shared'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, offset, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(out) :: offset"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_size'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_type_extent'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, datatype, extent, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: extent"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_get_view'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, disp, etype, filetype, datarep&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(out) :: disp"
|
|
echo " integer, intent(out) :: etype"
|
|
echo " integer, intent(out) :: filetype"
|
|
echo " character(len=*), intent(out) :: datarep"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_iread'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_iread_at'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_iread_shared'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_iwrite'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_iwrite_at'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_iwrite_shared'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_open'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, filename, amode, info, fh&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " character(len=*), intent(in) :: filename"
|
|
echo " integer, intent(in) :: amode"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(out) :: fh"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_preallocate'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_all'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_all_begin'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_all_end'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_at'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_at_all'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_at_all_begin'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_at_all_end'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_ordered'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_ordered_begin'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_ordered_end'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_read_shared'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_seek'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, offset, whence, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer, intent(in) :: whence"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_seek_shared'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, offset, whence, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer, intent(in) :: whence"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_set_atomicity'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer, intent(in) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_set_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(file, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: file"
|
|
echo " integer, intent(in) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_set_info'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, info, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_set_size'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_set_view'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, disp, etype, filetype, datarep, &
|
|
info, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: disp"
|
|
echo " integer, intent(in) :: etype"
|
|
echo " integer, intent(in) :: filetype"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_sync'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fh, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_all'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_all_begin'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_all_end'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_at'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_at_all'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype, &
|
|
status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_at_all_begin'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, offset, buf, count, datatype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_OFFSET_KIND), intent(in) :: offset"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_at_all_end'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_ordered'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_ordered_begin'
|
|
# allow for 2 char rank, 2 char for type, 2 char for kind and
|
|
# still be 31 characters or less
|
|
procedure="`echo ${procedure} | cut -c1-25`"
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_ordered_end'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_File_write_shared'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(fh, buf, count, datatype, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: fh"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Finalize'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Finalized'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Free_mem'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(base, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: base"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(base, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: base"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(base, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: base"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(base, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: base"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(base, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: base"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(base, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: base"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(base, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: base"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(base, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: base"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Gather'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Gatherv'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
|
|
displs, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, dimension(*), intent(in) :: recvcounts"
|
|
echo " integer, dimension(*), intent(in) :: displs"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Get'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Get_address'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(location, address, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: location"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: address"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Get_count'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(status, datatype, count, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(in) :: status"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: count"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Get_elements'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(status, datatype, count, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(in) :: status"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: count"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Get_processor_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(name, resultlen, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(out) :: name"
|
|
echo " integer, intent(out) :: resultlen"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Get_version'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(version, subversion, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: version"
|
|
echo " integer, intent(out) :: subversion"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Graph_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm_old, nnodes, index, edges, reorder, &
|
|
comm_graph, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm_old"
|
|
echo " integer, intent(in) :: nnodes"
|
|
echo " integer, dimension(*), intent(in) :: index"
|
|
echo " integer, dimension(*), intent(in) :: edges"
|
|
echo " integer, intent(in) :: reorder"
|
|
echo " integer, intent(out) :: comm_graph"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Graph_get'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, maxindex, maxedges, index, edges&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: maxindex"
|
|
echo " integer, intent(in) :: maxedges"
|
|
echo " integer, dimension(*), intent(out) :: index"
|
|
echo " integer, dimension(*), intent(out) :: edges"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Graph_map'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, nnodes, index, edges, newrank&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: nnodes"
|
|
echo " integer, dimension(*), intent(in) :: index"
|
|
echo " integer, dimension(*), intent(in) :: edges"
|
|
echo " integer, intent(out) :: newrank"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Graph_neighbors'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, rank, maxneighbors, neighbors, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: rank"
|
|
echo " integer, intent(in) :: maxneighbors"
|
|
echo " integer, dimension(*), intent(out) :: neighbors"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Graph_neighbors_count'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, rank, nneighbors, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: rank"
|
|
echo " integer, intent(out) :: nneighbors"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Graphdims_get'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, nnodes, nedges, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: nnodes"
|
|
echo " integer, intent(out) :: nedges"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Grequest_complete'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Grequest_start'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(query_fn, free_fn, cancel_fn, extra_state, request&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: query_fn"
|
|
echo " external :: free_fn"
|
|
echo " external :: cancel_fn"
|
|
echo " integer, intent(in) :: extra_state"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_compare'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group1, group2, result, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group1"
|
|
echo " integer, intent(in) :: group2"
|
|
echo " integer, intent(out) :: result"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_difference'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group1, group2, newgroup, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group1"
|
|
echo " integer, intent(in) :: group2"
|
|
echo " integer, intent(out) :: newgroup"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_excl'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group, n, ranks, newgroup, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group"
|
|
echo " integer, intent(in) :: n"
|
|
echo " integer, dimension(*), intent(in) :: ranks"
|
|
echo " integer, intent(out) :: newgroup"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_free'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: group"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_incl'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group, n, ranks, newgroup, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group"
|
|
echo " integer, intent(in) :: n"
|
|
echo " integer, dimension(*), intent(in) :: ranks"
|
|
echo " integer, intent(out) :: newgroup"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_intersection'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group1, group2, newgroup, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group1"
|
|
echo " integer, intent(in) :: group2"
|
|
echo " integer, intent(out) :: newgroup"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_range_excl'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group, n, ranges, newgroup, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group"
|
|
echo " integer, intent(in) :: n"
|
|
echo " integer, dimension(3, *), intent(in) :: ranges"
|
|
echo " integer, intent(out) :: newgroup"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_range_incl'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group, n, ranges, newgroup, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group"
|
|
echo " integer, intent(in) :: n"
|
|
echo " integer, dimension(3, *), intent(in) :: ranges"
|
|
echo " integer, intent(out) :: newgroup"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_rank'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group, rank, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group"
|
|
echo " integer, intent(out) :: rank"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_size'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_translate_ranks'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group1, n, ranks1, group2, ranks2&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group1"
|
|
echo " integer, intent(in) :: n"
|
|
echo " integer, dimension(*), intent(in) :: ranks1"
|
|
echo " integer, intent(in) :: group2"
|
|
echo " integer, dimension(*), intent(out) :: ranks2"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Group_union'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group1, group2, newgroup, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group1"
|
|
echo " integer, intent(in) :: group2"
|
|
echo " integer, intent(out) :: newgroup"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Ibsend'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Info_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: info"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Info_delete'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, key, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: info"
|
|
echo " character(len=*), intent(in) :: key"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Info_dup'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, newinfo, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(out) :: newinfo"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Info_free'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: info"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Info_get'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, key, valuelen, value, flag&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: info"
|
|
echo " character(len=*), intent(in) :: key"
|
|
echo " integer, intent(in) :: valuelen"
|
|
echo " character(len=*), intent(out) :: value"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Info_get_nkeys'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, nkeys, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(out) :: nkeys"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Info_get_nthkey'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, n, key, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: n"
|
|
echo " character(len=*), intent(out) :: key"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Info_get_valuelen'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, key, valuelen, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: info"
|
|
echo " character(len=*), intent(in) :: key"
|
|
echo " integer, intent(out) :: valuelen"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Info_set'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, key, value, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: info"
|
|
echo " character(len=*), intent(in) :: key"
|
|
echo " character(len=*), intent(in) :: value"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Init'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Init_thread'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(required, provided, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: required"
|
|
echo " integer, intent(out) :: provided"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Initialized'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Intercomm_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(local_comm, local_leader, bridge_comm, remote_leader, tag, &
|
|
newintercomm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: local_comm"
|
|
echo " integer, intent(in) :: local_leader"
|
|
echo " integer, intent(in) :: bridge_comm"
|
|
echo " integer, intent(in) :: remote_leader"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(out) :: newintercomm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Intercomm_merge'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(intercomm, high, newintercomm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: intercomm"
|
|
echo " integer, intent(in) :: high"
|
|
echo " integer, intent(out) :: newintercomm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Iprobe'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(source, tag, comm, flag, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Irecv'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Irsend'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Is_thread_main'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Isend'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Issend'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Keyval_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(copy_fn, delete_fn, keyval, extra_state, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: copy_fn"
|
|
echo " external :: delete_fn"
|
|
echo " integer, intent(out) :: keyval"
|
|
echo " integer, intent(in) :: extra_state"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Keyval_free'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(keyval, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: keyval"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Op_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(function, commute, op, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: function"
|
|
echo " integer, intent(in) :: commute"
|
|
echo " integer, intent(out) :: op"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Op_free'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(op, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: op"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Pack'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(inbuf, incount, datatype, outbuf, outsize, &
|
|
position, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(out) :: outsize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(inbuf, incount, datatype, outbuf, outsize, &
|
|
position, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(out) :: outsize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(inbuf, incount, datatype, outbuf, outsize, &
|
|
position, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(out) :: outsize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(inbuf, incount, datatype, outbuf, outsize, &
|
|
position, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(out) :: outsize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(inbuf, incount, datatype, outbuf, outsize, &
|
|
position, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(out) :: outsize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(inbuf, incount, datatype, outbuf, outsize, &
|
|
position, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(out) :: outsize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(inbuf, incount, datatype, outbuf, outsize, &
|
|
position, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(out) :: outsize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(inbuf, incount, datatype, outbuf, outsize, &
|
|
position, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(out) :: outsize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Pack_external'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, incount, datatype, outbuf, &
|
|
outsize, position, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: outsize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, incount, datatype, outbuf, &
|
|
outsize, position, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: outsize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, incount, datatype, outbuf, &
|
|
outsize, position, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: outsize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, incount, datatype, outbuf, &
|
|
outsize, position, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: outsize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, incount, datatype, outbuf, &
|
|
outsize, position, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: outsize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, incount, datatype, outbuf, &
|
|
outsize, position, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: outsize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, incount, datatype, outbuf, &
|
|
outsize, position, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: outsize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, incount, datatype, outbuf, &
|
|
outsize, position, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: outsize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Pack_external_size'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(datarep, incount, datatype, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Pack_size'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(incount, datatype, comm, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Pcontrol'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(level)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: level"
|
|
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Probe'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(source, tag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Put'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
|
|
target_count, target_datatype, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: origin_addr"
|
|
echo " integer, intent(in) :: origin_count"
|
|
echo " integer, intent(in) :: origin_datatype"
|
|
echo " integer, intent(in) :: target_rank"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: target_disp"
|
|
echo " integer, intent(in) :: target_count"
|
|
echo " integer, intent(in) :: target_datatype"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Query_thread'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(provided, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: provided"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Recv'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Recv_init'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, source, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Reduce'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Reduce_scatter'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, recvcounts, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcounts"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, recvcounts, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcounts"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, recvcounts, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcounts"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, recvcounts, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcounts"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, recvcounts, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcounts"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, recvcounts, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcounts"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, recvcounts, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcounts"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, recvcounts, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcounts"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Register_datarep'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " external :: read_conversion_fn"
|
|
echo " external :: write_conversion_fn"
|
|
echo " external :: dtype_file_extent_fn"
|
|
echo " integer, intent(in) :: extra_state"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Request_free'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Request_get_status'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(request, flag, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: request"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Rsend'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(ibuf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: ibuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(ibuf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: ibuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(ibuf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: ibuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(ibuf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: ibuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(ibuf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: ibuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(ibuf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: ibuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(ibuf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: ibuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(ibuf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: ibuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Rsend_init'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Scan'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, recvbuf, count, datatype, op, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: op"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Scatter'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
|
|
recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Scatterv'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
|
|
recvcount, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcounts"
|
|
echo " integer, intent(in) :: displs"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
|
|
recvcount, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcounts"
|
|
echo " integer, intent(in) :: displs"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
|
|
recvcount, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcounts"
|
|
echo " integer, intent(in) :: displs"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
|
|
recvcount, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcounts"
|
|
echo " integer, intent(in) :: displs"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
|
|
recvcount, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcounts"
|
|
echo " integer, intent(in) :: displs"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
|
|
recvcount, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcounts"
|
|
echo " integer, intent(in) :: displs"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
|
|
recvcount, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcounts"
|
|
echo " integer, intent(in) :: displs"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
|
|
recvcount, recvtype, root, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcounts"
|
|
echo " integer, intent(in) :: displs"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Send'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Send_init'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Sendrecv'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, dest, sendtag, &
|
|
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, dest, sendtag, &
|
|
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, dest, sendtag, &
|
|
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, dest, sendtag, &
|
|
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, dest, sendtag, &
|
|
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, dest, sendtag, &
|
|
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, dest, sendtag, &
|
|
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(sendbuf, sendcount, sendtype, dest, sendtag, &
|
|
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: sendbuf"
|
|
echo " integer, intent(in) :: sendcount"
|
|
echo " integer, intent(in) :: sendtype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: recvbuf"
|
|
echo " integer, intent(in) :: recvcount"
|
|
echo " integer, intent(in) :: recvtype"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Sendrecv_replace'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, sendtag, &
|
|
source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(inout) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, sendtag, &
|
|
source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(inout) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, sendtag, &
|
|
source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(inout) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, sendtag, &
|
|
source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(inout) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, sendtag, &
|
|
source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(inout) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, sendtag, &
|
|
source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(inout) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, sendtag, &
|
|
source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(inout) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, sendtag, &
|
|
source, recvtag, comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(inout) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: sendtag"
|
|
echo " integer, intent(in) :: source"
|
|
echo " integer, intent(in) :: recvtag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_SIZEOF'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(x, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: x"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(x, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: x"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(x, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: x"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(x, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: x"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(x, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: x"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(x, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: x"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(x, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: x"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(x, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: x"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Ssend'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Ssend_init'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(buf, count, datatype, dest, tag, &
|
|
comm, request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: buf"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: dest"
|
|
echo " integer, intent(in) :: tag"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Start'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(request, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: request"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Startall'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_requests, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(inout) :: array_of_requests"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Status_set_cancelled'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(status, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(in) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Status_set_elements'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(status, datatype, count, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Test'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(request, flag, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: request"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Test_cancelled'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(status, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(in) :: status"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Testall'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_requests, flag, array_of_statuses, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(inout) :: array_of_requests"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, dimension(MPI_STATUS_SIZE,*), intent(inout) :: array_of_statuses"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Testany'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_requests, index, flag, status&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(inout) :: array_of_requests"
|
|
echo " integer, intent(out) :: index"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Testsome'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(incount, array_of_requests, outcount, array_of_indices, array_of_statuses&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, dimension(*), intent(inout) :: array_of_requests"
|
|
echo " integer, intent(out) :: outcount"
|
|
echo " integer, dimension(*), intent(out) :: array_of_indices"
|
|
echo " integer, dimension(MPI_STATUS_SIZE,*), intent(inout) :: array_of_statuses"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Topo_test'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_commit'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: type"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_contiguous'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, oldtype, newtype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_darray'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(size, rank, ndims, gsize_array, distrib_array, &
|
|
darg_array, psize_array, order, oldtype, newtype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(in) :: rank"
|
|
echo " integer, intent(in) :: ndims"
|
|
echo " integer, dimension(*), intent(in) :: gsize_array"
|
|
echo " integer, dimension(*), intent(in) :: distrib_array"
|
|
echo " integer, dimension(*), intent(in) :: darg_array"
|
|
echo " integer, dimension(*), intent(in) :: psize_array"
|
|
echo " integer, intent(in) :: order"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_f90_complex'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(p, r, newtype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: p"
|
|
echo " integer, intent(in) :: r"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_f90_integer'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(r, newtype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: r"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_f90_real'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(p, r, newtype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: p"
|
|
echo " integer, intent(in) :: r"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_hindexed'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_blocklengths, array_of_displacements, oldtype, newtype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(in) :: array_of_blocklengths"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_hvector'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, blocklength, stride, oldtype, newtype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: blocklength"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: stride"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_indexed_block'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, blocklength, array_of_displacements, oldtype, newtype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: blocklength"
|
|
echo " integer, dimension(*), intent(in) :: array_of_displacements"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_keyval'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: type_copy_attr_fn"
|
|
echo " external :: type_delete_attr_fn"
|
|
echo " integer, intent(out) :: type_keyval"
|
|
echo " integer, intent(in) :: extra_state"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_resized'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(oldtype, lb, extent, newtype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: lb"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: extent"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_struct'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_block_lengths, array_of_displacements, array_of_types, newtype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(in) :: array_of_block_lengths"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements"
|
|
echo " integer, dimension(*), intent(in) :: array_of_types"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_create_subarray'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(ndims, size_array, subsize_array, start_array, order, &
|
|
oldtype, newtype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: ndims"
|
|
echo " integer, dimension(*), intent(in) :: size_array"
|
|
echo " integer, dimension(*), intent(in) :: subsize_array"
|
|
echo " integer, dimension(*), intent(in) :: start_array"
|
|
echo " integer, intent(in) :: order"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_delete_attr'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, type_keyval, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: type"
|
|
echo " integer, intent(in) :: type_keyval"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_dup'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, newtype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: type"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_extent'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, extent, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: type"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: extent"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_free'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: type"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_free_keyval'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type_keyval, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: type_keyval"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_get_attr'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, type_keyval, attribute_val, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: type"
|
|
echo " integer, intent(in) :: type_keyval"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_get_contents'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(mtype, max_integers, max_addresses, max_datatypes, array_of_integers, &
|
|
array_of_addresses, array_of_datatypes, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: mtype"
|
|
echo " integer, intent(in) :: max_integers"
|
|
echo " integer, intent(in) :: max_addresses"
|
|
echo " integer, intent(in) :: max_datatypes"
|
|
echo " integer, dimension(*), intent(out) :: array_of_integers"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(out) :: array_of_addresses"
|
|
echo " integer, dimension(*), intent(out) :: array_of_datatypes"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_get_envelope'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, num_integers, num_addresses, num_datatypes, combiner&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: type"
|
|
echo " integer, intent(out) :: num_integers"
|
|
echo " integer, intent(out) :: num_addresses"
|
|
echo " integer, intent(out) :: num_datatypes"
|
|
echo " integer, intent(out) :: combiner"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_get_extent'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, lb, extent, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: type"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: lb"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: extent"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_get_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, type_name, resultlen, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: type"
|
|
echo " character(len=*), intent(out) :: type_name"
|
|
echo " integer, intent(out) :: resultlen"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_get_true_extent'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(datatype, true_lb, true_extent, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: true_lb"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: true_extent"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_hindexed'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_blocklengths, array_of_displacements, oldtype, newtype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(in) :: array_of_blocklengths"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_hvector'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, blocklength, stride, oldtype, newtype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: blocklength"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: stride"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_indexed'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_blocklengths, array_of_displacements, oldtype, newtype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(in) :: array_of_blocklengths"
|
|
echo " integer, dimension(*), intent(in) :: array_of_displacements"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_lb'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, lb, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: type"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: lb"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_match_size'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(typeclass, size, type, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: typeclass"
|
|
echo " integer, intent(in) :: size"
|
|
echo " integer, intent(out) :: type"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_set_attr'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, type_keyval, attr_val, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: type"
|
|
echo " integer, intent(in) :: type_keyval"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: attr_val"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_set_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, type_name, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: type"
|
|
echo " character(len=*), intent(in) :: type_name"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_size'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(type, size, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: type"
|
|
echo " integer, intent(out) :: size"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_struct'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(in) :: array_of_blocklengths"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements"
|
|
echo " integer, dimension(*), intent(in) :: array_of_types"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_ub'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(mtype, ub, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: mtype"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: ub"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Type_vector'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, blocklength, stride, oldtype, newtype&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, intent(in) :: blocklength"
|
|
echo " integer, intent(in) :: stride"
|
|
echo " integer, intent(in) :: oldtype"
|
|
echo " integer, intent(out) :: newtype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Unpack'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(inbuf, insize, position, outbuf, outcount, &
|
|
datatype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: insize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(inbuf, insize, position, outbuf, outcount, &
|
|
datatype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: insize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(inbuf, insize, position, outbuf, outcount, &
|
|
datatype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: insize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(inbuf, insize, position, outbuf, outcount, &
|
|
datatype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: insize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(inbuf, insize, position, outbuf, outcount, &
|
|
datatype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: insize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(inbuf, insize, position, outbuf, outcount, &
|
|
datatype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: insize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(inbuf, insize, position, outbuf, outcount, &
|
|
datatype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: insize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(inbuf, insize, position, outbuf, outcount, &
|
|
datatype, comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer, intent(in) :: insize"
|
|
echo " integer, intent(inout) :: position"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Unpack_external'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, insize, position, outbuf, &
|
|
outcount, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: insize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, insize, position, outbuf, &
|
|
outcount, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: insize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, insize, position, outbuf, &
|
|
outcount, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: insize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, insize, position, outbuf, &
|
|
outcount, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: inbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: insize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, insize, position, outbuf, &
|
|
outcount, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: insize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, insize, position, outbuf, &
|
|
outcount, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: insize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, insize, position, outbuf, &
|
|
outcount, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: insize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(datarep, inbuf, insize, position, outbuf, &
|
|
outcount, datatype, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: datarep"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: inbuf"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: insize"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(inout) :: position"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(out) :: outbuf"
|
|
echo " integer, intent(in) :: outcount"
|
|
echo " integer, intent(in) :: datatype"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Wait'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(request, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: request"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Waitall'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_requests, array_of_statuses, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(inout) :: array_of_requests"
|
|
echo " integer, dimension(MPI_STATUS_SIZE,*), intent(inout) :: array_of_statuses"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Waitany'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_requests, index, status, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " integer, dimension(*), intent(inout) :: array_of_requests"
|
|
echo " integer, intent(out) :: index"
|
|
echo " integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Waitsome'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(incount, array_of_requests, outcount, array_of_indices, array_of_statuses&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: incount"
|
|
echo " integer, dimension(*), intent(inout) :: array_of_requests"
|
|
echo " integer, intent(out) :: outcount"
|
|
echo " integer, dimension(*), intent(out) :: array_of_indices"
|
|
echo " integer, dimension(MPI_STATUS_SIZE,*), intent(inout) :: array_of_statuses"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_call_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, errorcode, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(in) :: errorcode"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_complete'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_create'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
rank=0
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(base, size, disp_unit, info, comm, &
|
|
win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), intent(in) :: base"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: size"
|
|
echo " integer, intent(in) :: disp_unit"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(base, size, disp_unit, info, comm, &
|
|
win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), intent(in) :: base"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: size"
|
|
echo " integer, intent(in) :: disp_unit"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(base, size, disp_unit, info, comm, &
|
|
win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), intent(in) :: base"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: size"
|
|
echo " integer, intent(in) :: disp_unit"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
rank=0
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(base, size, disp_unit, info, comm, &
|
|
win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), intent(in) :: base"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: size"
|
|
echo " integer, intent(in) :: disp_unit"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
|
|
for rank in $array_ranks
|
|
do
|
|
make_dims $rank
|
|
for kind in $lkinds
|
|
do
|
|
proc="${procedure}${rank}DL${kind}"
|
|
echo "subroutine ${proc}(base, size, disp_unit, info, comm, &
|
|
win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " logical(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: base"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: size"
|
|
echo " integer, intent(in) :: disp_unit"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ikinds
|
|
do
|
|
proc="${procedure}${rank}DI${kind}"
|
|
echo "subroutine ${proc}(base, size, disp_unit, info, comm, &
|
|
win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer(kind=MPI_INTEGER${kind}_KIND), dimension(${dim}), intent(in) :: base"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: size"
|
|
echo " integer, intent(in) :: disp_unit"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $rkinds
|
|
do
|
|
proc="${procedure}${rank}DR${kind}"
|
|
echo "subroutine ${proc}(base, size, disp_unit, info, comm, &
|
|
win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " real(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: base"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: size"
|
|
echo " integer, intent(in) :: disp_unit"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
|
|
for kind in $ckinds
|
|
do
|
|
proc="${procedure}${rank}DC${kind}"
|
|
echo "subroutine ${proc}(base, size, disp_unit, info, comm, &
|
|
win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " complex(kind=MPI_REAL${kind}_KIND), dimension(${dim}), intent(in) :: base"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: size"
|
|
echo " integer, intent(in) :: disp_unit"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_create_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(function, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: function"
|
|
echo " integer, intent(out) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_create_keyval'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " external :: win_copy_attr_fn"
|
|
echo " external :: win_delete_attr_fn"
|
|
echo " integer, intent(out) :: win_keyval"
|
|
echo " integer, intent(in) :: extra_state"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_delete_attr'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, win_keyval, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: win"
|
|
echo " integer, intent(in) :: win_keyval"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_fence'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(assert, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: assert"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_free'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_free_keyval'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win_keyval, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: win_keyval"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_get_attr'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, win_keyval, attribute_val, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(in) :: win_keyval"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_get_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_get_group'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, group, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: group"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_get_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, win_name, resultlen, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: win"
|
|
echo " character(len=*), intent(out) :: win_name"
|
|
echo " integer, intent(out) :: resultlen"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_lock'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(lock_type, rank, assert, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: lock_type"
|
|
echo " integer, intent(in) :: rank"
|
|
echo " integer, intent(in) :: assert"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_post'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group, assert, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group"
|
|
echo " integer, intent(in) :: assert"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_set_attr'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, win_keyval, attribute_val, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: win"
|
|
echo " integer, intent(in) :: win_keyval"
|
|
echo " integer(kind=MPI_ADDRESS_KIND), intent(in) :: attribute_val"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_set_errhandler'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, errhandler, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: win"
|
|
echo " integer, intent(in) :: errhandler"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_set_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, win_name, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: win"
|
|
echo " character(len=*), intent(in) :: win_name"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_start'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(group, assert, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: group"
|
|
echo " integer, intent(in) :: assert"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_test'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, flag, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: flag"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_unlock'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(rank, win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: rank"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Win_wait'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(win, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: win"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Close_port'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(port_name, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: port_name"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Lookup_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(service_name, info, port_name, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: service_name"
|
|
echo " integer, intent(in) :: info"
|
|
echo " character(len=*), intent(out) :: port_name"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Open_port'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(info, port_name, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: info"
|
|
echo " character(len=*), intent(out) :: port_name"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Publish_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(service_name, info, port_name, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: service_name"
|
|
echo " integer, intent(in) :: info"
|
|
echo " character(len=*), intent(in) :: port_name"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Unpublish_name'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(service_name, info, port_name, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: service_name"
|
|
echo " integer, intent(in) :: info"
|
|
echo " character(len=*), intent(in) :: port_name"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_disconnect'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(comm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(inout) :: comm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_get_parent'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(parent, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(out) :: parent"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_join'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(fd, intercomm, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: fd"
|
|
echo " integer, intent(out) :: intercomm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_accept'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(port_name, info, root, comm, newcomm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: port_name"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: newcomm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_connect'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(port_name, info, root, comm, newcomm&
|
|
, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: port_name"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: newcomm"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_spawn'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(command, argv, maxprocs, info, root, &
|
|
comm, intercomm, array_of_errcodes, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " character(len=*), intent(in) :: command"
|
|
echo " character(len=*), dimension(*), intent(in) :: argv"
|
|
echo " integer, intent(in) :: maxprocs"
|
|
echo " integer, intent(in) :: info"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: intercomm"
|
|
echo " integer, dimension(*), intent(out) :: array_of_errcodes"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
|
|
procedure='MPI_Comm_spawn_multiple'
|
|
|
|
echo "interface ${procedure}"
|
|
echo
|
|
proc="${procedure}"
|
|
echo "subroutine ${proc}(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
|
|
root, comm, intercomm, array_of_errcodes, ierr)"
|
|
echo " use mpi_kinds"
|
|
echo " integer, intent(in) :: count"
|
|
echo " character(len=*), dimension(*), intent(in) :: array_of_commands"
|
|
echo " character(len=*), dimension(count,*), intent(in) :: array_of_argv"
|
|
echo " integer, dimension(*), intent(in) :: array_of_maxprocs"
|
|
echo " integer, dimension(*), intent(in) :: array_of_info"
|
|
echo " integer, intent(in) :: root"
|
|
echo " integer, intent(in) :: comm"
|
|
echo " integer, intent(out) :: intercomm"
|
|
echo " integer, dimension(*), intent(out) :: array_of_errcodes"
|
|
echo " integer, intent(out) :: ierr"
|
|
echo "end subroutine ${proc}"
|
|
echo
|
|
echo "end interface ${procedure}"
|
|
echo
|
|
echo
|
|
|
|
echo "Finished generating Fortran 90 interface functions" >&2
|