1
1
http://www.open-mpi.org/community/lists/users/2014/01/23327.php

Revert the Fortran mpi module default size to "small", meaning that we
won't provide interfaces for MPI subroutines that take a choice buffer
any more.  The short version is that MPI-3 p610:34-41 disallows it.

This commit simply removes all these subroutines from the build
process (i.e., remove them from nodist_libmpi_usempi_la_SOURCES).
Since MPI-3 actually forbids providing these interfaces, I'll do a
second commit to actually remove all the scripts and associated
Makefile.am junk.

cmr=v1.7.4:reviewer=dgoodell:subject=Remove choice buffer interfaces from Fortran mpi module

This commit was SVN r30169.
Этот коммит содержится в:
Jeff Squyres 2014-01-09 01:33:13 +00:00
родитель ca84ffdbd4
Коммит 759ee33fd4
2 изменённых файлов: 28 добавлений и 9 удалений

Просмотреть файл

@ -160,15 +160,24 @@ libmpi_usempi_la_LIBADD = \
# These files are all generated by scripts in the scripts/ directory.
nodist_libmpi_usempi_la_SOURCES = \
mpi_sizeof.f90 \
trivial_sources = \
mpi_sizeof.f90
small_sources = \
mpi_comm_spawn_multiple_f90.f90 \
mpi_testall_f90.f90 \
mpi_testsome_f90.f90 \
mpi_waitall_f90.f90 \
mpi_waitsome_f90.f90 \
mpi_wtick_f90.f90 \
mpi_wtime_f90.f90 \
mpi_wtime_f90.f90
# Per the MPI-3 p610 comment below, these files are never compiled
# (and therefore the corresponding scripts/ scripts for them are never
# invoked). They should probably be deleted someday. They're only
# left here in case we decide to put a ./configure CLI option to
# enable them.
medium_sources = \
mpi_address_f90.f90 \
mpi_accumulate_f90.f90 \
mpi_bcast_f90.f90 \
@ -200,7 +209,7 @@ nodist_libmpi_usempi_la_SOURCES = \
mpi_win_create_f90.f90
if OMPI_PROVIDE_MPI_FILE_INTERFACE
nodist_libmpi_usempi_la_SOURCES += \
medium_sources += \
mpi_file_iread_f90.f90 \
mpi_file_iread_at_f90.f90 \
mpi_file_iread_shared_f90.f90 \
@ -233,6 +242,13 @@ nodist_libmpi_usempi_la_SOURCES += \
mpi_file_write_shared_f90.f90
endif
# Per MPI-3 p610:34-41, if we're building a TKR mpi module, we should
# not build the "medium" interfaces (i.e., MPI subroutines with choice
# buffers). See comment in fortran_kinds.sh.in for more detail.
nodist_libmpi_usempi_la_SOURCES = \
$(trivial_sources) \
$(small_sources)
# Set the library version
libmpi_usempi_la_LDFLAGS = \
-version-info $(libmpi_usempi_tkr_so_version) \

Просмотреть файл

@ -26,11 +26,14 @@ ckinds="@OMPI_FORTRAN_CKINDS@"
# In prior versions of Open MPI, we used to allow the user to choose
# which "size" of "use mpi" module to build: tiny, small, medium, and
# large. Large never really worked. And now we have better
# implementations, so we're just going to hard-code to "medium" here,
# in case someone still builds this interface (e.g., if they're using
# gfortran).
size=medium
# large. Large never really worked.
#
# According to MPI-3 p610:34-41, if ignore TKR is not supported, we
# should not provide interfaces for MPI subroutines with choice
# buffers. So we default to "small" (in 1.7-1.7.3, we defaulted to
# "medium", but then MPI-3 p610 was pointed out to us in Jan 2014, so
# we changed the default back to "small").
size=small
# fix up for broken generation scripts that don't properly compute the
# ranks variable before using it