Add --with-f90-max-array-dim configure option to specify how many
dimensions the f90 MPI bindings should support (they are strongly typed, and the number of dimensions of choice arguments must be specified -- it cannot be arbitrary). The default is four. Note that even though increasing this value has essentially a linear effect on the code, the multiplier constant is fairly large (only a small number of functions have 2 choice buffers, so the exponential factor is relatively small). Increasing this value increases the amount of time f90 compilers will spend compiling src/mpi/f90/mpi.f90 (some compilers will crash if it is too big). This commit was SVN r5268.
Этот коммит содержится в:
родитель
f878bcfc39
Коммит
6f15d1071c
@ -321,4 +321,24 @@ AC_SUBST(OMPI_F77_WIN_NULL_COPY_FN)
|
||||
AC_SUBST(OMPI_F77_WIN_NULL_DELETE_FN)
|
||||
AC_SUBST(OMPI_F77_WIN_DUP_FN)
|
||||
#
|
||||
|
||||
#
|
||||
# What is the max array rank that we want to support in the f90 bindings?
|
||||
#
|
||||
|
||||
OMPI_FORTRAN_MAX_ARRAY_RANK=4
|
||||
AC_MSG_CHECKING([max supported array dimension in F90 MPI bindings])
|
||||
AC_ARG_WITH(f90-max-array-dim,
|
||||
AC_HELP_STRING([--with-f90-max-array-dim=<DIM>],
|
||||
[The maximum array dimension supported in the F90 MPI bindings (default: $OMPI_FORTRAN_MAX_ARRAY_RANK).]))
|
||||
if test ! -z "$with_max_f90_array_dim" -a "$with_max_f90_array_dim" != "no"; then
|
||||
# Ensure it's a number; hopefully a integer...
|
||||
expr $with_max_array_dim + 1 > /dev/null 2> /dev/null
|
||||
if test "$?" = "0"; then
|
||||
OMPI_FORTRAN_MAX_ARRAY_RANK="$with_max_f90_array_dim"
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$OMPI_FORTRAN_MAX_ARRAY_RANK])
|
||||
AC_SUBST(OMPI_FORTRAN_MAX_ARRAY_RANK)
|
||||
|
||||
])
|
||||
|
@ -15,7 +15,7 @@
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
ranks="1 2 3 4 5 6 7"
|
||||
max_array_rank="@OMPI_FORTRAN_MAX_ARRAY_RANK@"
|
||||
|
||||
lkinds="@OMPI_FORTRAN_LKINDS@"
|
||||
ikinds="@OMPI_FORTRAN_IKINDS@"
|
||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Загрузка…
x
Ссылка в новой задаче
Block a user