1
1
openmpi/ompi/mpi/f90/scripts/mpi.f90.sh
Jeff Squyres 4eba48b430 Bunches of fixes for the f90 bindings
- fix the --with-f90-max-array-dim configure switch
- fix configure test to find the supported f90 linker switch to find
  fortran modules
- Unbelievably, some versions of sh (cough cough Solaris 9 cough
  cough) actually seem to internally perform a "cd" into a
  subdirectory when you run "./foo/bar", such that if you try to
  source a script in the top-level directory in the bar script (i.e.,
  ". some_script" in the bar script), it will try to run it in the
  "foo" subdirectory, rather than the top-level directory!  #$@#$%#$%
  So we have to pass in the pwd to the scripts so that they know where
  some_script is.
- Reworked much of ompi/mpi/f90/Makefile.am for lots of reasons.  See
  the internal comments (mostly having to do with dependency stuff --
  Libtool does not apparently support F90, so we can only build the
  F90 library statically.

This commit was SVN r6993.
2005-08-24 02:11:02 +00:00

13020 строки
411 KiB
Bash
Исполняемый файл

#! /bin/sh
. "$1/fortran_kinds.sh"
procedure='MPI_Accumulate'
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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, op, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, op, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, op, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, op, win, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, op, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, op, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, op, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, op, win, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Address'
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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Allreduce'
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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Alltoall'
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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Alltoallv'
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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
recvcounts, rdispls, recvtype, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
recvcounts, rdispls, recvtype, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
recvcounts, rdispls, recvtype, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
recvcounts, rdispls, recvtype, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
recvcounts, rdispls, recvtype, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
recvcounts, rdispls, recvtype, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
recvcounts, rdispls, recvtype, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtype, recvbuf, &
recvcounts, rdispls, recvtype, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Alltoallw'
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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
recvcounts, rdispls, recvtypes, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
recvcounts, rdispls, recvtypes, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
recvcounts, rdispls, recvtypes, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
recvcounts, rdispls, recvtypes, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
recvcounts, rdispls, recvtypes, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
recvcounts, rdispls, recvtypes, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
recvcounts, rdispls, recvtypes, comm, 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 " call ${procedure}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, &
recvcounts, rdispls, recvtypes, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Bcast'
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 " call ${procedure}(buffer, count, datatype, root, comm&
, 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 " call ${procedure}(buffer, count, datatype, root, comm&
, 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 " call ${procedure}(buffer, count, datatype, root, comm&
, 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 " call ${procedure}(buffer, count, datatype, root, comm&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buffer, count, datatype, root, comm&
, 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 " call ${procedure}(buffer, count, datatype, root, comm&
, 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 " call ${procedure}(buffer, count, datatype, root, comm&
, 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 " call ${procedure}(buffer, count, datatype, root, comm&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Bsend'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Bsend_init'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Buffer_attach'
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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Buffer_detach'
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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, 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 " call ${procedure}(buffer, size, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Exscan'
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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_iread'
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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_iread_at'
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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_iread_shared'
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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_iwrite'
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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_iwrite_at'
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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_iwrite_shared'
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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, 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 " call ${procedure}(fh, buf, count, datatype, request&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read'
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_all'
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_all_begin'
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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_all_end'
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_at'
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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_at_all'
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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_at_all_begin'
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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_at_all_end'
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_ordered'
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_ordered_begin'
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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_ordered_end'
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_read_shared'
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write'
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_all'
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_all_begin'
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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_all_end'
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_at'
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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_at_all'
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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, 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 " call ${procedure}(fh, offset, buf, count, datatype, &
status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_at_all_begin'
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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, 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 " call ${procedure}(fh, offset, buf, count, datatype&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_at_all_end'
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_ordered'
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_ordered_begin'
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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, 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 " call ${procedure}(fh, buf, count, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_ordered_end'
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, 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 " call ${procedure}(fh, buf, status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_File_write_shared'
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, 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 " call ${procedure}(fh, buf, count, datatype, status&
, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Free_mem'
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 " call ${procedure}(base, 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 " call ${procedure}(base, 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 " call ${procedure}(base, 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 " call ${procedure}(base, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(base, 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 " call ${procedure}(base, 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 " call ${procedure}(base, 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 " call ${procedure}(base, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Gather'
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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Gatherv'
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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
displs, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
displs, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
displs, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
displs, recvtype, root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
displs, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
displs, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
displs, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcounts, &
displs, recvtype, root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Get'
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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Get_address'
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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, 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 " call ${procedure}(location, address, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Ibsend'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Irecv'
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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Irsend'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Isend'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Issend'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Pack'
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 " call ${procedure}(inbuf, incount, datatype, outbuf, outsize, &
position, comm, 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 " call ${procedure}(inbuf, incount, datatype, outbuf, outsize, &
position, comm, 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 " call ${procedure}(inbuf, incount, datatype, outbuf, outsize, &
position, comm, 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 " call ${procedure}(inbuf, incount, datatype, outbuf, outsize, &
position, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(inbuf, incount, datatype, outbuf, outsize, &
position, comm, 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 " call ${procedure}(inbuf, incount, datatype, outbuf, outsize, &
position, comm, 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 " call ${procedure}(inbuf, incount, datatype, outbuf, outsize, &
position, comm, 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 " call ${procedure}(inbuf, incount, datatype, outbuf, outsize, &
position, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Pack_external'
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 " call ${procedure}(datarep, inbuf, incount, datatype, outbuf, &
outsize, position, 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 " call ${procedure}(datarep, inbuf, incount, datatype, outbuf, &
outsize, position, 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 " call ${procedure}(datarep, inbuf, incount, datatype, outbuf, &
outsize, position, 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 " call ${procedure}(datarep, inbuf, incount, datatype, outbuf, &
outsize, position, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(datarep, inbuf, incount, datatype, outbuf, &
outsize, position, 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 " call ${procedure}(datarep, inbuf, incount, datatype, outbuf, &
outsize, position, 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 " call ${procedure}(datarep, inbuf, incount, datatype, outbuf, &
outsize, position, 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 " call ${procedure}(datarep, inbuf, incount, datatype, outbuf, &
outsize, position, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Put'
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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, 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 " call ${procedure}(origin_addr, origin_count, origin_datatype, target_rank, target_disp, &
target_count, target_datatype, win, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Recv'
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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, status, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, status, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, status, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, status, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, status, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, status, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Recv_init'
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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, source, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Reduce'
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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
root, comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
root, comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
root, comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
root, comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
root, comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
root, comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Reduce_scatter'
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 " call ${procedure}(sendbuf, recvbuf, recvcounts, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, recvcounts, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, recvcounts, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, recvcounts, datatype, op, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, recvbuf, recvcounts, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, recvcounts, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, recvcounts, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, recvcounts, datatype, op, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Rsend'
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 " call ${procedure}(ibuf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(ibuf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(ibuf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(ibuf, count, datatype, dest, tag, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(ibuf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(ibuf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(ibuf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(ibuf, count, datatype, dest, tag, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Rsend_init'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Scan'
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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, 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 " call ${procedure}(sendbuf, recvbuf, count, datatype, op, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Scatter'
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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcount, sendtype, recvbuf, recvcount, &
recvtype, root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Scatterv'
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 " call ${procedure}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
recvcount, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
recvcount, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
recvcount, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
recvcount, recvtype, root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
recvcount, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
recvcount, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
recvcount, recvtype, root, comm, 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 " call ${procedure}(sendbuf, sendcounts, displs, sendtype, recvbuf, &
recvcount, recvtype, root, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Send'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Send_init'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Sendrecv'
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 " call ${procedure}(sendbuf, sendcount, sendtype, dest, sendtag, &
recvbuf, recvcount, recvtype, source, recvtag, comm, status, 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 " call ${procedure}(sendbuf, sendcount, sendtype, dest, sendtag, &
recvbuf, recvcount, recvtype, source, recvtag, comm, status, 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 " call ${procedure}(sendbuf, sendcount, sendtype, dest, sendtag, &
recvbuf, recvcount, recvtype, source, recvtag, comm, status, 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 " call ${procedure}(sendbuf, sendcount, sendtype, dest, sendtag, &
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(sendbuf, sendcount, sendtype, dest, sendtag, &
recvbuf, recvcount, recvtype, source, recvtag, comm, status, 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 " call ${procedure}(sendbuf, sendcount, sendtype, dest, sendtag, &
recvbuf, recvcount, recvtype, source, recvtag, comm, status, 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 " call ${procedure}(sendbuf, sendcount, sendtype, dest, sendtag, &
recvbuf, recvcount, recvtype, source, recvtag, comm, status, 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 " call ${procedure}(sendbuf, sendcount, sendtype, dest, sendtag, &
recvbuf, recvcount, recvtype, source, recvtag, comm, status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Sendrecv_replace'
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 " call ${procedure}(buf, count, datatype, dest, sendtag, &
source, recvtag, comm, status, 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 " call ${procedure}(buf, count, datatype, dest, sendtag, &
source, recvtag, comm, status, 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 " call ${procedure}(buf, count, datatype, dest, sendtag, &
source, recvtag, comm, status, 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 " call ${procedure}(buf, count, datatype, dest, sendtag, &
source, recvtag, comm, status, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, sendtag, &
source, recvtag, comm, status, 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 " call ${procedure}(buf, count, datatype, dest, sendtag, &
source, recvtag, comm, status, 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 " call ${procedure}(buf, count, datatype, dest, sendtag, &
source, recvtag, comm, status, 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 " call ${procedure}(buf, count, datatype, dest, sendtag, &
source, recvtag, comm, status, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Ssend'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Ssend_init'
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, 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 " call ${procedure}(buf, count, datatype, dest, tag, &
comm, request, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Unpack'
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 " call ${procedure}(inbuf, insize, position, outbuf, outcount, &
datatype, comm, 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 " call ${procedure}(inbuf, insize, position, outbuf, outcount, &
datatype, comm, 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 " call ${procedure}(inbuf, insize, position, outbuf, outcount, &
datatype, comm, 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 " call ${procedure}(inbuf, insize, position, outbuf, outcount, &
datatype, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(inbuf, insize, position, outbuf, outcount, &
datatype, comm, 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 " call ${procedure}(inbuf, insize, position, outbuf, outcount, &
datatype, comm, 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 " call ${procedure}(inbuf, insize, position, outbuf, outcount, &
datatype, comm, 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 " call ${procedure}(inbuf, insize, position, outbuf, outcount, &
datatype, comm, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Unpack_external'
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 " call ${procedure}(datarep, inbuf, insize, position, outbuf, &
outcount, datatype, 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 " call ${procedure}(datarep, inbuf, insize, position, outbuf, &
outcount, datatype, 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 " call ${procedure}(datarep, inbuf, insize, position, outbuf, &
outcount, datatype, 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 " call ${procedure}(datarep, inbuf, insize, position, outbuf, &
outcount, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(datarep, inbuf, insize, position, outbuf, &
outcount, datatype, 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 " call ${procedure}(datarep, inbuf, insize, position, outbuf, &
outcount, datatype, 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 " call ${procedure}(datarep, inbuf, insize, position, outbuf, &
outcount, datatype, 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 " call ${procedure}(datarep, inbuf, insize, position, outbuf, &
outcount, datatype, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo
procedure='MPI_Win_create'
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 " call ${procedure}(base, size, disp_unit, info, comm, &
win, 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 " call ${procedure}(base, size, disp_unit, info, comm, &
win, 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 " call ${procedure}(base, size, disp_unit, info, comm, &
win, 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 " call ${procedure}(base, size, disp_unit, info, comm, &
win, ierr)"
echo "end subroutine ${proc}"
echo
done
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
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 " call ${procedure}(base, size, disp_unit, info, comm, &
win, 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 " call ${procedure}(base, size, disp_unit, info, comm, &
win, 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 " call ${procedure}(base, size, disp_unit, info, comm, &
win, 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 " call ${procedure}(base, size, disp_unit, info, comm, &
win, ierr)"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
echo
echo