Fixed to match Jeff S's changes to mpi-f90-interfaces.h.sh
This commit was SVN r9674.
Этот коммит содержится в:
родитель
65d5e18e9b
Коммит
8646604497
@ -4416,7 +4416,7 @@ do
|
|||||||
for kind in $rkinds
|
for kind in $rkinds
|
||||||
do
|
do
|
||||||
output MPI_Free_mem ${rank} R${kind} "real*${kind}${dim}"
|
output MPI_Free_mem ${rank} R${kind} "real*${kind}${dim}"
|
||||||
done
|
done
|
||||||
for kind in $ckinds
|
for kind in $ckinds
|
||||||
do
|
do
|
||||||
output MPI_Free_mem ${rank} C${kind} "complex*${kind}${dim}"
|
output MPI_Free_mem ${rank} C${kind} "complex*${kind}${dim}"
|
||||||
@ -7540,7 +7540,7 @@ subroutine ${procedure}(count, array_of_requests, flag, array_of_statuses, ierr)
|
|||||||
integer, intent(in) :: count
|
integer, intent(in) :: count
|
||||||
integer, dimension(count), intent(inout) :: array_of_requests
|
integer, dimension(count), intent(inout) :: array_of_requests
|
||||||
integer, intent(out) :: flag
|
integer, intent(out) :: flag
|
||||||
integer, dimension(count,MPI_STATUS_SIZE), intent(inout) :: array_of_statuses
|
integer, dimension(count, MPI_STATUS_SIZE), intent(inout) :: array_of_statuses
|
||||||
integer, intent(out) :: ierr
|
integer, intent(out) :: ierr
|
||||||
end subroutine ${procedure}
|
end subroutine ${procedure}
|
||||||
|
|
||||||
@ -9613,26 +9613,15 @@ end MPI_Comm_spawn
|
|||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
# The SPAWN_MULTIPLE interface has a nice compile-time check to ensure
|
|
||||||
# that the "count" parameter matches the dimension of the other
|
|
||||||
# parameters. If the constant MPI_ARGVS_NULL is a character array of
|
|
||||||
# some kind, there is no guarantee that the count value provided by
|
|
||||||
# the application will match the dimension of MPI_ARGVS_NULL, which
|
|
||||||
# could therefore result in a[n erroneous] compile-time error. As
|
|
||||||
# such, it is simpler to just make MPI_ARGVS_NULL a wholly different
|
|
||||||
# type (e.g., integer) that matches an entirely different interface
|
|
||||||
# function.
|
|
||||||
|
|
||||||
output() {
|
output() {
|
||||||
if test "$output" = "0"; then
|
if test "$output" = "0"; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
procedure=$1
|
procedure=$1
|
||||||
# N = "normal"
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
|
||||||
subroutine ${procedure}N(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
|
subroutine ${procedure}(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
|
||||||
root, comm, intercomm, array_of_errcodes, ierr)
|
root, comm, intercomm, array_of_errcodes, ierr)
|
||||||
include 'mpif.h'
|
include 'mpif.h'
|
||||||
integer, intent(in) :: count
|
integer, intent(in) :: count
|
||||||
@ -9645,16 +9634,16 @@ subroutine ${procedure}N(count, array_of_commands, array_of_argv, array_of_maxpr
|
|||||||
integer, intent(out) :: intercomm
|
integer, intent(out) :: intercomm
|
||||||
integer, dimension(*), intent(out) :: array_of_errcodes
|
integer, dimension(*), intent(out) :: array_of_errcodes
|
||||||
integer, intent(out) :: ierr
|
integer, intent(out) :: ierr
|
||||||
end subroutine ${procedure}N
|
end subroutine ${procedure}
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
start MPI_Comm_spawn_multiple small
|
start MPI_Comm_spawn_multiple small
|
||||||
output MPI_Comm_spawn_multiple
|
output MPI_Comm_spawn_multipleN
|
||||||
|
end MPI_Comm_spawn_multiple
|
||||||
|
|
||||||
# Now we do the MPI_ARGVS_NULL variant -- note the different type for
|
#------------------------------------------------------------------------
|
||||||
# the array_of_argv argument.
|
|
||||||
|
|
||||||
output() {
|
output() {
|
||||||
if test "$output" = "0"; then
|
if test "$output" = "0"; then
|
||||||
@ -9662,10 +9651,9 @@ output() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
procedure=$1
|
procedure=$1
|
||||||
# AN = "ARGV_NULL variant"
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
|
||||||
subroutine ${procedure}AN(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
|
subroutine ${procedure}(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
|
||||||
root, comm, intercomm, array_of_errcodes, ierr)
|
root, comm, intercomm, array_of_errcodes, ierr)
|
||||||
include 'mpif.h'
|
include 'mpif.h'
|
||||||
integer, intent(in) :: count
|
integer, intent(in) :: count
|
||||||
@ -9678,11 +9666,11 @@ subroutine ${procedure}AN(count, array_of_commands, array_of_argv, array_of_maxp
|
|||||||
integer, intent(out) :: intercomm
|
integer, intent(out) :: intercomm
|
||||||
integer, dimension(*), intent(out) :: array_of_errcodes
|
integer, dimension(*), intent(out) :: array_of_errcodes
|
||||||
integer, intent(out) :: ierr
|
integer, intent(out) :: ierr
|
||||||
end subroutine ${procedure}AN
|
end subroutine ${procedure}
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
output MPI_Comm_spawn_multiple
|
start MPI_Comm_spawn_multiple small
|
||||||
|
output MPI_Comm_spawn_multipleAN
|
||||||
end MPI_Comm_spawn_multiple
|
end MPI_Comm_spawn_multiple
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user