Add missing Fortran mpi module TKR implementation for MPI_Get_address
This commit was SVN r29005.
Этот коммит содержится в:
родитель
837b3363fe
Коммит
ed130dcef0
@ -177,6 +177,7 @@ nodist_libmpi_usempi_la_SOURCES = \
|
||||
mpi_buffer_attach_f90.f90 \
|
||||
mpi_buffer_detach_f90.f90 \
|
||||
mpi_get_f90.f90 \
|
||||
mpi_get_address_f90.f90 \
|
||||
mpi_ibcast_f90.f90 \
|
||||
mpi_ibsend_f90.f90 \
|
||||
mpi_imrecv_f90.f90 \
|
||||
|
@ -68,6 +68,7 @@ fortran_scripts = \
|
||||
mpi_gather_f90.f90.sh \
|
||||
mpi_gatherv_f90.f90.sh \
|
||||
mpi_get_f90.f90.sh \
|
||||
mpi_get_address_f90.f90.sh \
|
||||
mpi_iallgather_f90.f90.sh \
|
||||
mpi_iallgatherv_f90.f90.sh \
|
||||
mpi_iallreduce_f90.f90.sh \
|
||||
|
85
ompi/mpi/fortran/use-mpi-tkr/scripts/mpi_get_address_f90.f90.sh
Исполняемый файл
85
ompi/mpi/fortran/use-mpi-tkr/scripts/mpi_get_address_f90.f90.sh
Исполняемый файл
@ -0,0 +1,85 @@
|
||||
#! /bin/sh
|
||||
|
||||
#
|
||||
# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
|
||||
# University Research and Technology
|
||||
# Corporation. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2006-2012 Cisco Systems, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
#
|
||||
# This file generates a Fortran code to bridge between an explicit F90
|
||||
# generic interface and the F77 implementation.
|
||||
#
|
||||
# This file is automatically generated by either of the scripts
|
||||
# ../xml/create_mpi_f90_medium.f90.sh or
|
||||
# ../xml/create_mpi_f90_large.f90.sh
|
||||
#
|
||||
|
||||
. "$1/fortran_kinds.sh"
|
||||
|
||||
# This entire file is only generated in medium/large modules. So if
|
||||
# we're not at least medium, bail now.
|
||||
|
||||
check_size medium
|
||||
if test "$output" = "0"; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Ok, we should continue.
|
||||
|
||||
allranks="0 $ranks"
|
||||
|
||||
|
||||
output() {
|
||||
procedure=$1
|
||||
rank=$2
|
||||
type=$4
|
||||
proc="$1$2D$3"
|
||||
|
||||
cat <<EOF
|
||||
|
||||
subroutine ${proc}(location, address, ierr)
|
||||
include "mpif-config.h"
|
||||
${type}, intent(in) :: location
|
||||
integer(kind=MPI_ADDRESS_KIND), intent(out) :: address
|
||||
integer, intent(out) :: ierr
|
||||
call ${procedure}(location, address, ierr)
|
||||
end subroutine ${proc}
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
for rank in $allranks
|
||||
do
|
||||
case "$rank" in 0) dim='' ; esac
|
||||
case "$rank" in 1) dim=', dimension(*)' ; esac
|
||||
case "$rank" in 2) dim=', dimension(1,*)' ; esac
|
||||
case "$rank" in 3) dim=', dimension(1,1,*)' ; esac
|
||||
case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac
|
||||
case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac
|
||||
case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac
|
||||
case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac
|
||||
|
||||
output MPI_Get_address ${rank} CH "character${dim}"
|
||||
output MPI_Get_address ${rank} L "logical${dim}"
|
||||
for kind in $ikinds
|
||||
do
|
||||
output MPI_Get_address ${rank} I${kind} "integer*${kind}${dim}"
|
||||
done
|
||||
for kind in $rkinds
|
||||
do
|
||||
output MPI_Get_address ${rank} R${kind} "real*${kind}${dim}"
|
||||
done
|
||||
for kind in $ckinds
|
||||
do
|
||||
output MPI_Get_address ${rank} C${kind} "complex*${kind}${dim}"
|
||||
done
|
||||
done
|
Загрузка…
x
Ссылка в новой задаче
Block a user