From dc82f6197797ece533b38c8f7cdd8ecdf9e40c96 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Wed, 15 Jan 2025 12:13:17 -0700 Subject: [PATCH] fortran: remove use-mpi-tkr this is only needed by very old compilers and is not worth maintaining. sanity checked with: intel-classic 2021.10.0 intel-oneapi 2023.2.0 nvhpc Cuda compilation tools, release 12.5, V12.5.82 gcc 8.5.0 gcc 4.9.1 gcc 13.2.0 unfortunately I was unable to build gcc 4.8.5 so that wasn't covered. I don't have access to a NAG compiler anymore so that wasn't tested either. Signed-off-by: Howard Pritchard --- config/ompi_config_files.m4 | 3 - config/ompi_setup_mpi_fortran.m4 | 20 +- ompi/Makefile.am | 3 +- ompi/mpi/fortran/use-mpi-f08/Makefile.am | 2 +- .../fortran/use-mpi-f08/bindings/Makefile.am | 2 +- ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am | 2 +- .../fortran/use-mpi-f08/profile/Makefile.am | 2 +- ompi/mpi/fortran/use-mpi-tkr/Makefile.am | 201 -- .../fortran/use-mpi-tkr/fortran_kinds.sh.in | 84 - .../fortran/use-mpi-tkr/fortran_sizes.h.in | 59 - .../use-mpi-tkr/mpi-f90-cptr-interfaces.h | 109 - .../use-mpi-tkr/mpi-f90-file-interfaces.h | 321 -- .../fortran/use-mpi-tkr/mpi-f90-interfaces.h | 2678 ----------------- .../use-mpi-tkr/mpi-f90-removed-interfaces.h | 185 -- ompi/mpi/fortran/use-mpi-tkr/mpi-f90-status.h | 36 - ompi/mpi/fortran/use-mpi-tkr/mpi.F90 | 81 - .../fortran/use-mpi-tkr/mpi_aint_add_f90.f90 | 31 - .../fortran/use-mpi-tkr/mpi_aint_diff_f90.f90 | 31 - .../mpi/fortran/use-mpi-tkr/mpi_wtick_f90.f90 | 27 - .../mpi/fortran/use-mpi-tkr/mpi_wtime_f90.f90 | 27 - .../use-mpi-tkr/pmpi-f90-cptr-interfaces.h | 18 - .../use-mpi-tkr/pmpi-f90-file-interfaces.h | 37 - .../fortran/use-mpi-tkr/pmpi-f90-interfaces.h | 232 -- .../use-mpi-tkr/pmpi-f90-removed-interfaces.h | 26 - .../mpi/fortran/use-mpi-tkr/pmpi-f90-status.h | 36 - ompi/mpi/fortran/use-mpi-tkr/test/align_c.c | 73 - .../fortran/use-mpi-tkr/test/print_align.f90 | 108 - .../fortran/use-mpi-tkr/test/print_ikinds.f90 | 37 - .../use-mpi-tkr/test/print_prec_range.f90 | 48 - .../fortran/use-mpi-tkr/test/print_rkinds.f90 | 41 - ompi/mpi/fortran/use-mpi-tkr/test/send_t.c | 71 - .../fortran/use-mpi-tkr/test/test_send.f90 | 54 - 32 files changed, 8 insertions(+), 4677 deletions(-) delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/Makefile.am delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh.in delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h.in delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-file-interfaces.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-interfaces.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-status.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi.F90 delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi_aint_add_f90.f90 delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi_aint_diff_f90.f90 delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi_wtick_f90.f90 delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi_wtime_f90.f90 delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-file-interfaces.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-interfaces.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-removed-interfaces.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-status.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/test/align_c.c delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/test/print_align.f90 delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/test/print_ikinds.f90 delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/test/print_prec_range.f90 delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/test/print_rkinds.f90 delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/test/send_t.c delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/test/test_send.f90 diff --git a/config/ompi_config_files.m4 b/config/ompi_config_files.m4 index 119d0ddabaf..7c869ba7967 100644 --- a/config/ompi_config_files.m4 +++ b/config/ompi_config_files.m4 @@ -32,9 +32,6 @@ AC_DEFUN([OMPI_CONFIG_FILES],[ ompi/mpi/fortran/mpif-h/profile/Makefile ompi/mpi/fortran/use-mpi/Makefile ompi/mpi/fortran/use-mpi/mpi-types.F90 - ompi/mpi/fortran/use-mpi-tkr/Makefile - ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h - ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-interfaces.h ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h diff --git a/config/ompi_setup_mpi_fortran.m4 b/config/ompi_setup_mpi_fortran.m4 index 0fe0b333ebf..cf3e3329c42 100644 --- a/config/ompi_setup_mpi_fortran.m4 +++ b/config/ompi_setup_mpi_fortran.m4 @@ -138,11 +138,6 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[ AC_DEFINE([ompi_fortran_bogus_type_t], [int], [A bogus type that allows us to have sentinel type values that are still valid]) - # These get filled in as we check for each type - OMPI_FORTRAN_IKINDS= - OMPI_FORTRAN_RKINDS= - OMPI_FORTRAN_CKINDS= - # We want to set the #define's for all of these, so invoke the macros # regardless of whether we have F77 support or not. OMPI_FORTRAN_CHECK([CHARACTER], [yes], @@ -284,14 +279,6 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[ [$OMPI_FORTRAN_STATUS_SIZE], [The number or Fortran INTEGER in MPI Status]) - # Setup for the compilers that don't support ignore TKR functionality - OPAL_UNIQ(OMPI_FORTRAN_IKINDS) - AC_SUBST(OMPI_FORTRAN_IKINDS) - OPAL_UNIQ(OMPI_FORTRAN_RKINDS) - AC_SUBST(OMPI_FORTRAN_RKINDS) - OPAL_UNIQ(OMPI_FORTRAN_CKINDS) - AC_SUBST(OMPI_FORTRAN_CKINDS) - # We can't use C_INTxx_T KIND values in mpif.h because many # existing MPI Fortran applications are of the form: # @@ -405,16 +392,15 @@ end program]])], ]) # If we got here, we can build the mpi module if it was requested. - # Decide whether to build the ignore TKR version or the - # non-ignore-TKR/legacy version. + # We only support compilers which have an ignore TKR feature. AS_IF([test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS && \ test $ompi_fortran_happy -eq 1], [OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS AS_IF([test $OMPI_FORTRAN_HAVE_IGNORE_TKR -eq 1], [OMPI_FORTRAN_USEMPI_DIR=mpi/fortran/use-mpi-ignore-tkr OMPI_FORTRAN_USEMPI_LIB=-l${with_libmpi_name}_usempi_ignore_tkr], - [OMPI_FORTRAN_USEMPI_DIR=mpi/fortran/use-mpi-tkr - OMPI_FORTRAN_USEMPI_LIB=-l${with_libmpi_name}_usempi]) + [AC_MSG_WARN([** Fortran compiler does not support ignoring TKR. Please use a newer fortran compiler.]) + AC_MSG_ERROR([*** Cannot continue])]) ]) OMPI_FORTRAN_HAVE_ISO_C_BINDING=0 diff --git a/ompi/Makefile.am b/ompi/Makefile.am index f2709494f9a..d5a74b3b35d 100644 --- a/ompi/Makefile.am +++ b/ompi/Makefile.am @@ -83,7 +83,7 @@ SUBDIRS = \ mpi/fortran/mpif-h \ mpi/fortran/use-mpi \ $(OMPI_MPIEXT_USEMPI_DIR) \ - $(OMPI_FORTRAN_USEMPI_DIR) \ + mpi/fortran/use-mpi-ignore-tkr \ mpi/fortran/mpiext-use-mpi \ mpi/fortran/use-mpi-f08/base \ mpi/fortran/use-mpi-f08/mod \ @@ -113,7 +113,6 @@ DIST_SUBDIRS = \ mpi/fortran/base \ mpi/fortran/mpif-h \ mpi/fortran/use-mpi \ - mpi/fortran/use-mpi-tkr \ mpi/fortran/use-mpi-ignore-tkr \ mpi/fortran/mpiext-use-mpi \ mpi/fortran/use-mpi-f08 \ diff --git a/ompi/mpi/fortran/use-mpi-f08/Makefile.am b/ompi/mpi/fortran/use-mpi-f08/Makefile.am index 9440b7a9c23..93e503c03c4 100644 --- a/ompi/mpi/fortran/use-mpi-f08/Makefile.am +++ b/ompi/mpi/fortran/use-mpi-f08/Makefile.am @@ -42,7 +42,7 @@ AM_FCFLAGS = -I$(top_srcdir)/ompi/mpi/fortran/use-mpi-f08/mod \ -I$(top_builddir)/ompi/include \ -I$(top_srcdir)/ompi/include \ $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/mpi/fortran/use-mpi \ - $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/$(OMPI_FORTRAN_USEMPI_DIR) \ + $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/mpi/fortran/use-mpi-ignore-tkr \ $(OMPI_FC_MODULE_FLAG)mod \ $(OMPI_FC_MODULE_FLAG)bindings \ -I$(top_srcdir) -I$(top_builddir) $(FCFLAGS_f90) \ diff --git a/ompi/mpi/fortran/use-mpi-f08/bindings/Makefile.am b/ompi/mpi/fortran/use-mpi-f08/bindings/Makefile.am index 9e038f7e87f..0945ab72b54 100644 --- a/ompi/mpi/fortran/use-mpi-f08/bindings/Makefile.am +++ b/ompi/mpi/fortran/use-mpi-f08/bindings/Makefile.am @@ -34,7 +34,7 @@ if OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS AM_FCFLAGS = -I$(top_builddir)/ompi/include \ -I$(top_srcdir)/ompi/include \ $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/mpi/fortran/use-mpi \ - $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/$(OMPI_FORTRAN_USEMPI_DIR) \ + $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/mpi/fortran/use-mpi-ignore-tkr \ $(OMPI_FC_MODULE_FLAG). \ $(OMPI_FC_MODULE_FLAG)../mod \ -I$(top_srcdir) -I$(top_builddir) $(FCFLAGS_f90) diff --git a/ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am b/ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am index bf6595c0d9f..f6907627cc7 100644 --- a/ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am +++ b/ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am @@ -34,7 +34,7 @@ if OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS AM_FCFLAGS = -I$(top_builddir)/ompi/include \ -I$(top_srcdir)/ompi/include \ $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/mpi/fortran/use-mpi \ - $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/$(OMPI_FORTRAN_USEMPI_DIR) \ + $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/mpi/fortran/use-mpi-ignore-tkr \ $(OMPI_FC_MODULE_FLAG). \ -I$(top_srcdir) -I$(top_builddir) $(FCFLAGS_f90) diff --git a/ompi/mpi/fortran/use-mpi-f08/profile/Makefile.am b/ompi/mpi/fortran/use-mpi-f08/profile/Makefile.am index 8f8d89b3b5d..1002fdc70c4 100644 --- a/ompi/mpi/fortran/use-mpi-f08/profile/Makefile.am +++ b/ompi/mpi/fortran/use-mpi-f08/profile/Makefile.am @@ -46,7 +46,7 @@ AM_FCFLAGS = -I$(top_srcdir)/ompi/mpi/fortran/use-mpi-f08/mod \ -I$(top_builddir)/ompi/include \ -I$(top_srcdir)/ompi/include \ $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/mpi/fortran/use-mpi \ - $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/$(OMPI_FORTRAN_USEMPI_DIR) \ + $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/mpi/fortran/use-mpi-ignore-tkr \ $(OMPI_FC_MODULE_FLAG)../mod \ $(OMPI_FC_MODULE_FLAG)../bindings \ -I$(top_srcdir) -I$(top_builddir) $(FCFLAGS_f90) \ diff --git a/ompi/mpi/fortran/use-mpi-tkr/Makefile.am b/ompi/mpi/fortran/use-mpi-tkr/Makefile.am deleted file mode 100644 index ddbbc418169..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/Makefile.am +++ /dev/null @@ -1,201 +0,0 @@ -# -*- makefile -*- -# -# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -# University Research and Technology -# Corporation. All rights reserved. -# Copyright (c) 2004-2005 The University of Tennessee and The University -# of Tennessee Research Foundation. All rights -# reserved. -# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -# University of Stuttgart. All rights reserved. -# Copyright (c) 2004-2005 The Regents of the University of California. -# All rights reserved. -# Copyright (c) 2006-2021 Cisco Systems, Inc. All rights reserved -# Copyright (c) 2007 Los Alamos National Security, LLC. All rights -# reserved. -# Copyright (c) 2014-2021 Research Organization for Information Science -# and Technology (RIST). All rights reserved. -# Copyright (c) 2016-2022 IBM Corporation. All rights reserved. -# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -include $(top_srcdir)/Makefile.ompi-rules - -# THIS MAKEFILE IS OLD AND ONLY TO SUPPORT FORTRAN COMPILERS THAT DO -# NOT SUPPORT "IGNORE TKR" FUNCTIONALITY (i.e., gfortran before v4.9). -# All other Fortran compilers support ignore TKR and don't compile -# this directory -- instead, they compile -# ompi/fortran/use-mpi-ignore-tkr. - -# Note that Automake's Fortran-buidling rules uses CPPFLAGS and -# AM_CPPFLAGS. This can cause weirdness (e.g., -# https://github.com/open-mpi/ompi/issues/7253). Let's just zero -# those out and rely on AM_FCFLAGS. -CPPFLAGS = -AM_CPPFLAGS = - -if OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS - -######################################################################## - -# Note the "-I." in the flags below. This is because mpi.F90 includes -# mpi-f90-interfaces.h, which will be in the build tree (i.e., the -# current directory) because it is generated. - -AM_FCFLAGS = -I$(top_builddir)/ompi/include -I$(top_srcdir)/ompi/include \ - $(OMPI_FC_MODULE_FLAG). -I$(top_srcdir) -I$(top_builddir) -I. \ - -I$(top_builddir)/ompi/mpi/fortran/use-mpi \ - -I$(top_builddir)/ompi/mpi/fortran/use-mpi-tkr $(FCFLAGS_f90) - -# Do different things if the top-level configure decided that we're -# going to build F90 bindings or not. - -lib_LTLIBRARIES = - -# Add the f90 library to the list of libraries to build - -lib_LTLIBRARIES += lib@OMPI_LIBMPI_NAME@_usempi.la - -# Automake doesn't know how to do F90 dependency analysis, so manually -# list this here (i.e., "mpi-f90-interfaces.h" is included in -# mpi.F90). - -mpi.lo: mpi.F90 -mpi.lo: mpi-f90-interfaces.h -mpi.lo: mpi-f90-status.h -mpi.lo: mpi-f90-file-interfaces.h -mpi.lo: mpi-f90-removed-interfaces.h -mpi.lo: $(top_builddir)/ompi/mpi/fortran/configure-fortran-output.h -mpi.lo: mpi-f90-cptr-interfaces.h -mpi.lo: pmpi-f90-interfaces.h -mpi.lo: pmpi-f90-status.h -mpi.lo: pmpi-f90-file-interfaces.h -mpi.lo: pmpi-f90-removed-interfaces.h -mpi.lo: pmpi-f90-cptr-interfaces.h - -# Per MPI-3 p610:34-41, if we're building a TKR mpi module, we should -# not build any interfaces for MPI subroutines that take a choice -# buffer dummy argument. We therefore really only need to build a -# handful of subroutines. - -lib@OMPI_LIBMPI_NAME@_usempi_la_SOURCES = \ - mpi.F90 \ - mpi_aint_add_f90.f90 \ - mpi_aint_diff_f90.f90 \ - mpi_wtick_f90.f90 \ - mpi_wtime_f90.f90 - -# Don't distribute mpi-tkr-sizeof-*; they're generated. - -nodist_lib@OMPI_LIBMPI_NAME@_usempi_la_SOURCES = -if BUILD_FORTRAN_SIZEOF -nodist_lib@OMPI_LIBMPI_NAME@_usempi_la_SOURCES += \ - mpi-tkr-sizeof.h \ - mpi-tkr-sizeof.f90 -endif -mpi.lo: $(nodist_lib@OMPI_LIBMPI_NAME@_usempi_la_SOURCES) - -libusempi_internal_modules = -if OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS -libusempi_internal_modules += $(top_builddir)/ompi/mpi/fortran/use-mpi/libusempi_internal_modules.la -endif - -# Note that we invoke some OPAL functions directly in -# libmpi_usempi.la, so we need to link in the OPAL library directly -# (pulling it in indirectly via libmpi.la does not work on all -# platforms). -lib@OMPI_LIBMPI_NAME@_usempi_la_LIBADD = \ - $(top_builddir)/ompi/mpi/fortran/mpif-h/lib@OMPI_LIBMPI_NAME@_mpifh.la \ - $(libusempi_internal_modules) \ - $(OMPI_TOP_BUILDDIR)/opal/lib@OPAL_LIB_NAME@.la -# Set the library version -lib@OMPI_LIBMPI_NAME@_usempi_la_LDFLAGS = \ - -version-info $(libmpi_usempi_tkr_so_version) \ - $(OMPI_FORTRAN_EXTRA_SHARED_LIBRARY_FLAGS) - -# -# mpi-ignore-tkr-sizeof.* are generated based on some results from -# configure tests. -# - -sizeof_pl=$(top_srcdir)/ompi/mpi/fortran/base/gen-mpi-sizeof.pl - -mpi-tkr-sizeof.h: $(top_builddir)/config.status -mpi-tkr-sizeof.h: $(sizeof_pl) -mpi-tkr-sizeof.h: - $(OMPI_V_GEN) $(sizeof_pl) \ - --header=$@ --ierror=mandatory \ - --maxrank=$(OMPI_FORTRAN_MAX_ARRAY_RANK) \ - --generate=$(OMPI_FORTRAN_BUILD_SIZEOF) \ - --real2=$(OMPI_HAVE_FORTRAN_REAL2) \ - --iso_real16=$(OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV_REAL16) \ - --real16=$(OMPI_HAVE_FORTRAN_REAL16) \ - --complex4=$(OMPI_HAVE_FORTRAN_COMPLEX4) \ - --complex32=$(OMPI_HAVE_FORTRAN_COMPLEX32) \ - --mpi_version=$(MPI_VERSION) \ - --request_deprecate=$(OMPI_FORTRAN_HAVE_ATTR_DEPRECATED) - -mpi-tkr-sizeof.f90: $(top_builddir)/config.status -mpi-tkr-sizeof.f90: $(sizeof_pl) -mpi-tkr-sizeof.f90: - $(OMPI_V_GEN) $(sizeof_pl) \ - --impl=$@ --ierror=mandatory --mpi --pmpi \ - --maxrank=$(OMPI_FORTRAN_MAX_ARRAY_RANK) \ - --generate=$(OMPI_FORTRAN_BUILD_SIZEOF) \ - --real2=$(OMPI_HAVE_FORTRAN_REAL2) \ - --iso_real16=$(OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV_REAL16) \ - --real16=$(OMPI_HAVE_FORTRAN_REAL16) \ - --complex4=$(OMPI_HAVE_FORTRAN_COMPLEX4) \ - --complex32=$(OMPI_HAVE_FORTRAN_COMPLEX32) - -# -# Clean up all F90 module files and all generated files -# - -CLEANFILES += mpi-tkr-sizeof.h mpi-tkr-sizeof.f90 -MOSTLYCLEANFILES = *.mod -DISTCLEANFILES = $(nodist_lib@OMPI_LIBMPI_NAME@_usempi_la_SOURCES) - -# -# Install the generated .mod files. Unfortunately, each F90 compiler -# may generate different filenames, so we have to use a glob. :-( -# - -install-exec-hook: - @ for file in `ls *.mod`; do \ - echo $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ - $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ - done - -uninstall-local: - @ for file in `ls *.mod`; do \ - echo rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ - rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ - done - -# if OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS -endif - -# These files must be EXTRA_DIST'ed because they are included; they -# are not compiled directly (and we *can't* list the .F90 file in -# _SOURCES, because it would be compiled -- but it *must* have a .F90 -# suffix so that the Fortran compiler will interpret the #if -# directives properly). - -EXTRA_DIST = \ - mpi-f90-interfaces.h \ - mpi-f90-status.h \ - mpi-f90-file-interfaces.h \ - mpi-f90-removed-interfaces.h \ - mpi-f90-cptr-interfaces.h \ - pmpi-f90-interfaces.h \ - pmpi-f90-status.h \ - pmpi-f90-file-interfaces.h \ - pmpi-f90-removed-interfaces.h \ - pmpi-f90-cptr-interfaces.h - diff --git a/ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh.in b/ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh.in deleted file mode 100644 index bc81b890427..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh.in +++ /dev/null @@ -1,84 +0,0 @@ -#! /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 University of Tennessee and The University -# of Tennessee Research Foundation. All rights -# reserved. -# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -# University of Stuttgart. All rights reserved. -# Copyright (c) 2004-2005 The Regents of the University of California. -# All rights reserved. -# Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -max_array_rank=7 - -ikinds="@OMPI_FORTRAN_IKINDS@" -rkinds="@OMPI_FORTRAN_RKINDS@" -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. -# -# 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 -ranks="1" -rank="2" -while test "`expr $rank \\<= $max_array_rank`" = "1"; do - ranks="$ranks $rank" - rank="`expr $rank + 1`" -done -unset rank - -# -# Helper function -# -check_size() { - # Sanity check - if test "$1" != "trivial" -a "$1" != "small" -a "$1" != "medium" -a \ - "$1" != "large"; then - echo "WARNING: unrecognized size: $1" >&2 - fi - - # Check the value - output=0 - if test "$1" = "trivial"; then - # Since we've got a trivial source, always build it (since - # trivial is the smallest allowable size to build, and we - # already verified above that the size is valid). - output=1 - elif test "$1" = "small"; then - # If we've got a small source, build it unless the user only - # requested trivial. - if test "$size" != "trivial"; then - output=1 - fi - elif test "$1" = "medium"; then - # If we've got a medium source, build it only if the user - # requested medium or large. - if test "$size" = "medium" -o "$size" = "large"; then - output=1 - fi - elif test "$1" = "large"; then - # If we've got a large source, build it only if the user - # requested large. - if test "$size" = "large"; then - output=1 - fi - fi -} diff --git a/ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h.in b/ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h.in deleted file mode 100644 index 1f218f6c9d8..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h.in +++ /dev/null @@ -1,59 +0,0 @@ -! -! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2007 High Performance Computing Center Stuttgart, -! University of Stuttgart. 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 (c) 2018 FUJITSU LIMITED. All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -! This file is used by scripts/mpi_sizeof.f90.sh (and therefore mpi_sizeof.f90) - -integer :: OMPI_SIZEOF_F90_CHARACTER -integer :: OMPI_SIZEOF_F90_LOGICAL - -integer :: OMPI_SIZEOF_F90_INT1 -integer :: OMPI_SIZEOF_F90_INT2 -integer :: OMPI_SIZEOF_F90_INT4 -integer :: OMPI_SIZEOF_F90_INT8 -integer :: OMPI_SIZEOF_F90_INT16 - -integer :: OMPI_SIZEOF_F90_REAL2 -integer :: OMPI_SIZEOF_F90_REAL4 -integer :: OMPI_SIZEOF_F90_REAL8 -integer :: OMPI_SIZEOF_F90_REAL16 - -integer :: OMPI_SIZEOF_F90_COMPLEX4 -integer :: OMPI_SIZEOF_F90_COMPLEX8 -integer :: OMPI_SIZEOF_F90_COMPLEX16 -integer :: OMPI_SIZEOF_F90_COMPLEX32 - -parameter(OMPI_SIZEOF_F90_CHARACTER = @OMPI_SIZEOF_FORTRAN_CHARACTER@) -parameter(OMPI_SIZEOF_F90_LOGICAL = @OMPI_SIZEOF_FORTRAN_LOGICAL@) - -parameter(OMPI_SIZEOF_F90_INT1 = @OMPI_SIZEOF_FORTRAN_INTEGER1@) -parameter(OMPI_SIZEOF_F90_INT2 = @OMPI_SIZEOF_FORTRAN_INTEGER2@) -parameter(OMPI_SIZEOF_F90_INT4 = @OMPI_SIZEOF_FORTRAN_INTEGER4@) -parameter(OMPI_SIZEOF_F90_INT8 = @OMPI_SIZEOF_FORTRAN_INTEGER8@) -parameter(OMPI_SIZEOF_F90_INT16 = @OMPI_SIZEOF_FORTRAN_INTEGER16@) - -parameter(OMPI_SIZEOF_F90_REAL2 = @OMPI_SIZEOF_FORTRAN_REAL2@) -parameter(OMPI_SIZEOF_F90_REAL4 = @OMPI_SIZEOF_FORTRAN_REAL4@) -parameter(OMPI_SIZEOF_F90_REAL8 = @OMPI_SIZEOF_FORTRAN_REAL8@) -parameter(OMPI_SIZEOF_F90_REAL16 = @OMPI_SIZEOF_FORTRAN_REAL16@) - -parameter(OMPI_SIZEOF_F90_COMPLEX4 = @OMPI_SIZEOF_FORTRAN_COMPLEX4@) -parameter(OMPI_SIZEOF_F90_COMPLEX8 = @OMPI_SIZEOF_FORTRAN_COMPLEX8@) -parameter(OMPI_SIZEOF_F90_COMPLEX16 = @OMPI_SIZEOF_FORTRAN_COMPLEX16@) -parameter(OMPI_SIZEOF_F90_COMPLEX32 = @OMPI_SIZEOF_FORTRAN_COMPLEX32@) diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h deleted file mode 100644 index 3f8ef561e9c..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h +++ /dev/null @@ -1,109 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2014-2021 Cisco Systems, Inc. All rights reserved -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! -! This file contains interfaces that use the ISO_C_BINDING module and -! the TYPE(C_PTR) type, which not all Fortran compilers support (e.g., -! gfortran on RHEL 5 does not support this module/type). So we use a -! preprocessor macro to protect the problematic declarations. -! -! This file is included via a preprocessor include directorive in -! mpi.F90, which allows us to use the preprocessor "if" directive, -! below. -! - -! This interface requires a name because there are multiple subroutines. -interface MPI_Win_allocate - -subroutine MPI_Win_allocate(size, disp_unit, info, comm, & - baseptr, win, ierror) - include 'mpif-config.h' - integer(KIND=MPI_ADDRESS_KIND), intent(in) :: size - integer, intent(in) :: disp_unit - integer, intent(in) :: info - integer, intent(in) :: comm - integer(KIND=MPI_ADDRESS_KIND), intent(out) :: baseptr - integer, intent(out) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_allocate - -! Only include the 2nd interface if we have ISO_C_BINDING / TYPE(C_PTR) -#if OMPI_FORTRAN_HAVE_ISO_C_BINDING -subroutine MPI_Win_allocate_cptr(size, disp_unit, info, comm, & - baseptr, win, ierror) - use, intrinsic :: iso_c_binding, only : c_ptr - include 'mpif-config.h' - integer :: disp_unit, info, comm, win, ierror - integer(KIND=MPI_ADDRESS_KIND) :: size - type(C_PTR) :: baseptr -end subroutine MPI_Win_allocate_cptr -#endif - -end interface - - -! This interface requires a name because there are multiple subroutines. -interface MPI_Win_allocate_shared - -subroutine MPI_Win_allocate_shared(size, disp_unit, info, comm, & - baseptr, win, ierror) - include 'mpif-config.h' - integer(KIND=MPI_ADDRESS_KIND), intent(in) :: size - integer, intent(in) :: disp_unit - integer, intent(in) :: info - integer, intent(in) :: comm - integer(KIND=MPI_ADDRESS_KIND), intent(out) :: baseptr - integer, intent(out) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_allocate_shared - -! Only include the 2nd interface if we have ISO_C_BINDING / TYPE(C_PTR) -#if OMPI_FORTRAN_HAVE_ISO_C_BINDING -subroutine MPI_Win_allocate_shared_cptr(size, disp_unit, info, comm, & - baseptr, win, ierror) - use, intrinsic :: iso_c_binding, only : c_ptr - include 'mpif-config.h' - integer :: disp_unit, info, comm, win, ierror - integer(KIND=MPI_ADDRESS_KIND) :: size - type(C_PTR) :: baseptr -end subroutine MPI_Win_allocate_shared_cptr -#endif - -end interface - - -! This interface requires a name because there are multiple subroutines. -interface MPI_Win_shared_query - -subroutine MPI_Win_shared_query(win, rank, size, disp_unit, baseptr,& - ierror) - include 'mpif-config.h' - integer, intent(in) :: win - integer, intent(in) :: rank - integer(KIND=MPI_ADDRESS_KIND), intent(out) :: size - integer, intent(out) :: disp_unit - integer(KIND=MPI_ADDRESS_KIND), intent(out) :: baseptr - integer, intent(out) :: ierror -end subroutine MPI_Win_shared_query - -! Only include the 2nd interface if we have ISO_C_BINDING / TYPE(C_PTR) -#if OMPI_FORTRAN_HAVE_ISO_C_BINDING -subroutine MPI_Win_shared_query_cptr(win, rank, size, disp_unit, baseptr,& - ierror) - use, intrinsic :: iso_c_binding, only : c_ptr - include 'mpif-config.h' - integer, intent(in) :: win - integer, intent(in) :: rank - integer(KIND=MPI_ADDRESS_KIND), intent(out) :: size - integer, intent(out) :: disp_unit - type(C_PTR), intent(out) :: baseptr - integer, intent(out) :: ierror -end subroutine MPI_Win_shared_query_cptr -#endif - -end interface diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-file-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-file-interfaces.h deleted file mode 100644 index eb268735efa..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-file-interfaces.h +++ /dev/null @@ -1,321 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. -! Copyright (c) 2016 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -interface MPI_File_call_errhandler - -subroutine MPI_File_call_errhandler(fh, errorcode, ierror) - integer, intent(in) :: fh - integer, intent(in) :: errorcode - integer, intent(out) :: ierror -end subroutine MPI_File_call_errhandler - -end interface - - -interface MPI_File_close - -subroutine MPI_File_close(fh, ierror) - integer, intent(inout) :: fh - integer, intent(out) :: ierror -end subroutine MPI_File_close - -end interface - - -interface MPI_File_create_errhandler - -subroutine MPI_File_create_errhandler(function, errhandler, ierror) - external :: function - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_File_create_errhandler - -end interface - - -interface MPI_File_delete - -subroutine MPI_File_delete(filename, info, ierror) - character(len=*), intent(in) :: filename - integer, intent(in) :: info - integer, intent(out) :: ierror -end subroutine MPI_File_delete - -end interface - - -interface MPI_File_get_amode - -subroutine MPI_File_get_amode(fh, amode, ierror) - integer, intent(in) :: fh - integer, intent(out) :: amode - integer, intent(out) :: ierror -end subroutine MPI_File_get_amode - -end interface - - -interface MPI_File_get_atomicity - -subroutine MPI_File_get_atomicity(fh, flag, ierror) - integer, intent(in) :: fh - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_File_get_atomicity - -end interface - - -interface MPI_File_get_byte_offset - -subroutine MPI_File_get_byte_offset(fh, offset, disp, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(in) :: offset - integer(kind=MPI_OFFSET_KIND), intent(out) :: disp - integer, intent(out) :: ierror -end subroutine MPI_File_get_byte_offset - -end interface - - -interface MPI_File_get_errhandler - -subroutine MPI_File_get_errhandler(file, errhandler, ierror) - integer, intent(in) :: file - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_File_get_errhandler - -end interface - - -interface MPI_File_get_group - -subroutine MPI_File_get_group(fh, group, ierror) - integer, intent(in) :: fh - integer, intent(out) :: group - integer, intent(out) :: ierror -end subroutine MPI_File_get_group - -end interface - - -interface MPI_File_get_info - -subroutine MPI_File_get_info(fh, info_used, ierror) - integer, intent(in) :: fh - integer, intent(out) :: info_used - integer, intent(out) :: ierror -end subroutine MPI_File_get_info - -end interface - - -interface MPI_File_get_position - -subroutine MPI_File_get_position(fh, offset, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(out) :: offset - integer, intent(out) :: ierror -end subroutine MPI_File_get_position - -end interface - - -interface MPI_File_get_position_shared - -subroutine MPI_File_get_position_shared(fh, offset, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(out) :: offset - integer, intent(out) :: ierror -end subroutine MPI_File_get_position_shared - -end interface - - -interface MPI_File_get_size - -subroutine MPI_File_get_size(fh, size, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(out) :: size - integer, intent(out) :: ierror -end subroutine MPI_File_get_size - -end interface - - -interface MPI_File_get_type_extent - -subroutine MPI_File_get_type_extent(fh, datatype, extent, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer, intent(in) :: datatype - integer(kind=MPI_ADDRESS_KIND), intent(out) :: extent - integer, intent(out) :: ierror -end subroutine MPI_File_get_type_extent - -end interface - - -interface MPI_File_get_view - -subroutine MPI_File_get_view(fh, disp, etype, filetype, datarep& - , ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(out) :: disp - integer, intent(out) :: etype - integer, intent(out) :: filetype - character(len=*), intent(out) :: datarep - integer, intent(out) :: ierror -end subroutine MPI_File_get_view - -end interface - - -interface MPI_File_open - -subroutine MPI_File_open(comm, filename, amode, info, fh& - , ierror) - integer, intent(in) :: comm - character(len=*), intent(in) :: filename - integer, intent(in) :: amode - integer, intent(in) :: info - integer, intent(out) :: fh - integer, intent(out) :: ierror -end subroutine MPI_File_open - -end interface - - -interface MPI_File_preallocate - -subroutine MPI_File_preallocate(fh, size, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(in) :: size - integer, intent(out) :: ierror -end subroutine MPI_File_preallocate - -end interface - - -interface MPI_File_seek - -subroutine MPI_File_seek(fh, offset, whence, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(in) :: offset - integer, intent(in) :: whence - integer, intent(out) :: ierror -end subroutine MPI_File_seek - -end interface - - -interface MPI_File_seek_shared - -subroutine MPI_File_seek_shared(fh, offset, whence, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(in) :: offset - integer, intent(in) :: whence - integer, intent(out) :: ierror -end subroutine MPI_File_seek_shared - -end interface - - -interface MPI_File_set_atomicity - -subroutine MPI_File_set_atomicity(fh, flag, ierror) - integer, intent(in) :: fh - logical, intent(in) :: flag - integer, intent(out) :: ierror -end subroutine MPI_File_set_atomicity - -end interface - - -interface MPI_File_set_errhandler - -subroutine MPI_File_set_errhandler(file, errhandler, ierror) - integer, intent(in) :: file - integer, intent(in) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_File_set_errhandler - -end interface - - -interface MPI_File_set_info - -subroutine MPI_File_set_info(fh, info, ierror) - integer, intent(in) :: fh - integer, intent(in) :: info - integer, intent(out) :: ierror -end subroutine MPI_File_set_info - -end interface - - -interface MPI_File_set_size - -subroutine MPI_File_set_size(fh, size, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(in) :: size - integer, intent(out) :: ierror -end subroutine MPI_File_set_size - -end interface - - -interface MPI_File_set_view - -subroutine MPI_File_set_view(fh, disp, etype, filetype, datarep, & - info, ierror) - include 'mpif-config.h' - integer, intent(in) :: fh - integer(kind=MPI_OFFSET_KIND), intent(in) :: disp - integer, intent(in) :: etype - integer, intent(in) :: filetype - character(len=*), intent(in) :: datarep - integer, intent(in) :: info - integer, intent(out) :: ierror -end subroutine MPI_File_set_view - -end interface - - -interface MPI_File_sync - -subroutine MPI_File_sync(fh, ierror) - integer, intent(in) :: fh - integer, intent(out) :: ierror -end subroutine MPI_File_sync - -end interface diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-interfaces.h deleted file mode 100644 index 044d7d5fa23..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-interfaces.h +++ /dev/null @@ -1,2678 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2006-2021 Cisco Systems, Inc. All rights reserved -! Copyright (c) 2016-2018 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! Copyright (c) 2019-2022 Triad National Security, LLC. All rights -! reserved. -! Copyright (c) 2021 Sandia National Laboratories. All rights reserved. -! Copyright (c) 2021 IBM Corporation. All rights reserved. -! -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -interface - -function MPI_Wtick() - double precision MPI_Wtick -end function MPI_Wtick - -end interface - - -interface - -function MPI_Wtime() - double precision MPI_Wtime -end function MPI_Wtime - -end interface - - -interface - -subroutine MPI_Abort(comm, errorcode, ierror) - integer, intent(in) :: comm - integer, intent(in) :: errorcode - integer, intent(out) :: ierror -end subroutine MPI_Abort - -end interface - - -interface - -subroutine MPI_Add_error_class(errorclass, ierror) - integer, intent(out) :: errorclass - integer, intent(out) :: ierror -end subroutine MPI_Add_error_class - -end interface - - -interface - -subroutine MPI_Add_error_code(errorclass, errorcode, ierror) - integer, intent(in) :: errorclass - integer, intent(out) :: errorcode - integer, intent(out) :: ierror -end subroutine MPI_Add_error_code - -end interface - - -interface - -subroutine MPI_Add_error_string(errorcode, string, ierror) - integer, intent(in) :: errorcode - character(len=*), intent(in) :: string - integer, intent(out) :: ierror -end subroutine MPI_Add_error_string - -end interface - -interface - -function MPI_Aint_add(base, diff) - include 'mpif-config.h' - integer(kind=MPI_ADDRESS_KIND), intent(in) :: base - integer(kind=MPI_ADDRESS_KIND), intent(in) :: diff - integer(kind=MPI_ADDRESS_KIND) MPI_Aint_add -end function MPI_Aint_add - -end interface - -interface - -function MPI_Aint_diff(addr1, addr2) - include 'mpif-config.h' - integer(kind=MPI_ADDRESS_KIND), intent(in) :: addr1 - integer(kind=MPI_ADDRESS_KIND), intent(in) :: addr2 - integer(kind=MPI_ADDRESS_KIND) MPI_Aint_diff -end function MPI_Aint_diff - -end interface - - -interface - -subroutine MPI_Barrier(comm, ierror) - integer, intent(in) :: comm - integer, intent(out) :: ierror -end subroutine MPI_Barrier - -end interface - - -interface - -subroutine MPI_Ibarrier(comm, request, ierror) - integer, intent(in) :: comm - integer, intent(out) :: request - integer, intent(out) :: ierror -end subroutine MPI_Ibarrier - -end interface - - -interface - -subroutine MPI_Cancel(request, ierror) - integer, intent(in) :: request - integer, intent(out) :: ierror -end subroutine MPI_Cancel - -end interface - - -interface - -subroutine MPI_Cart_coords(comm, rank, maxdims, coords, ierror) - integer, intent(in) :: comm - integer, intent(in) :: rank - integer, intent(in) :: maxdims - integer, dimension(*), intent(out) :: coords - integer, intent(out) :: ierror -end subroutine MPI_Cart_coords - -end interface - - -interface - -subroutine MPI_Cart_create(old_comm, ndims, dims, periods, reorder, & - comm_cart, ierror) - integer, intent(in) :: old_comm - integer, intent(in) :: ndims - integer, dimension(*), intent(in) :: dims - logical, dimension(*), intent(in) :: periods - logical, intent(in) :: reorder - integer, intent(out) :: comm_cart - integer, intent(out) :: ierror -end subroutine MPI_Cart_create - -end interface - - -interface - -subroutine MPI_Cart_get(comm, maxdims, dims, periods, coords& - , ierror) - integer, intent(in) :: comm - integer, intent(in) :: maxdims - integer, dimension(*), intent(out) :: dims - logical, dimension(*), intent(out) :: periods - integer, dimension(*), intent(out) :: coords - integer, intent(out) :: ierror -end subroutine MPI_Cart_get - -end interface - - -interface - -subroutine MPI_Cart_map(comm, ndims, dims, periods, newrank& - , ierror) - integer, intent(in) :: comm - integer, intent(in) :: ndims - integer, dimension(*), intent(in) :: dims - logical, dimension(*), intent(in) :: periods - integer, intent(out) :: newrank - integer, intent(out) :: ierror -end subroutine MPI_Cart_map - -end interface - - -interface - -subroutine MPI_Cart_rank(comm, coords, rank, ierror) - integer, intent(in) :: comm - integer, dimension(*), intent(in) :: coords - integer, intent(out) :: rank - integer, intent(out) :: ierror -end subroutine MPI_Cart_rank - -end interface - - -interface - -subroutine MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest& - , ierror) - integer, intent(in) :: comm - integer, intent(in) :: direction - integer, intent(in) :: disp - integer, intent(out) :: rank_source - integer, intent(out) :: rank_dest - integer, intent(out) :: ierror -end subroutine MPI_Cart_shift - -end interface - - -interface - -subroutine MPI_Cart_sub(comm, remain_dims, new_comm, ierror) - integer, intent(in) :: comm - logical, dimension(*), intent(in) :: remain_dims - integer, intent(out) :: new_comm - integer, intent(out) :: ierror -end subroutine MPI_Cart_sub - -end interface - - -interface - -subroutine MPI_Cartdim_get(comm, ndims, ierror) - integer, intent(in) :: comm - integer, intent(out) :: ndims - integer, intent(out) :: ierror -end subroutine MPI_Cartdim_get - -end interface - - -interface - -subroutine MPI_Comm_call_errhandler(comm, errorcode, ierror) - integer, intent(in) :: comm - integer, intent(in) :: errorcode - integer, intent(out) :: ierror -end subroutine MPI_Comm_call_errhandler - -end interface - - -interface - -subroutine MPI_Comm_compare(comm1, comm2, result, ierror) - integer, intent(in) :: comm1 - integer, intent(in) :: comm2 - integer, intent(out) :: result - integer, intent(out) :: ierror -end subroutine MPI_Comm_compare - -end interface - - -interface - -subroutine MPI_Comm_create(comm, group, newcomm, ierror) - integer, intent(in) :: comm - integer, intent(in) :: group - integer, intent(out) :: newcomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_create - -end interface - -interface MPI_Comm_create_from_group - -subroutine MPI_Comm_create_from_group(group, stringtag, info, errhandler, newcomm, ierror) - implicit none - integer, intent(in) :: group - character(len=*), intent(in) :: stringtag - integer, intent(in) :: info - integer, intent(in) :: errhandler - integer, intent(out) :: newcomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_create_from_group - -end interface - -interface - -subroutine MPI_Comm_create_group(comm, group, tag, newcomm, ierror) - integer, intent(in) :: comm - integer, intent(in) :: group - integer, intent(in) :: tag - integer, intent(out) :: newcomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_create_group - -end interface - - -interface - -subroutine MPI_Comm_create_errhandler(function, errhandler, ierror) - external :: function - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Comm_create_errhandler - -end interface - - -interface - -subroutine MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state, ierror) - include 'mpif-config.h' - external :: comm_copy_attr_fn - external :: comm_delete_attr_fn - integer, intent(out) :: comm_keyval - integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state - integer, intent(out) :: ierror -end subroutine MPI_Comm_create_keyval - -end interface - - -interface - -subroutine MPI_Comm_delete_attr(comm, comm_keyval, ierror) - integer, intent(in) :: comm - integer, intent(in) :: comm_keyval - integer, intent(out) :: ierror -end subroutine MPI_Comm_delete_attr - -end interface - - -interface - -subroutine MPI_Comm_dup(comm, newcomm, ierror) - integer, intent(in) :: comm - integer, intent(out) :: newcomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_dup - -end interface - - -interface - -subroutine MPI_Comm_dup_with_info(comm, info, newcomm, ierror) - integer, intent(in) :: comm - integer, intent(in) :: info - integer, intent(out) :: newcomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_dup_with_info - -end interface - - -interface - -subroutine MPI_Comm_idup(comm, newcomm, request, ierror) - integer, intent(in) :: comm - integer, intent(out) :: newcomm - integer, intent(out) :: request - integer, intent(out) :: ierror -end subroutine MPI_Comm_idup - -end interface - -interface - -subroutine MPI_Comm_idup_with_info(comm, info, newcomm, request, ierror) - integer, intent(in) :: comm - integer, intent(in) :: info - integer, intent(out) :: newcomm - integer, intent(out) :: request - integer, intent(out) :: ierror -end subroutine MPI_Comm_idup_with_info - -end interface - -interface - -subroutine MPI_Comm_free(comm, ierror) - integer, intent(inout) :: comm - integer, intent(out) :: ierror -end subroutine MPI_Comm_free - -end interface - - -interface - -subroutine MPI_Comm_free_keyval(comm_keyval, ierror) - integer, intent(inout) :: comm_keyval - integer, intent(out) :: ierror -end subroutine MPI_Comm_free_keyval - -end interface - - -interface - -subroutine MPI_Comm_get_info(comm, info_used, ierror) - include 'mpif-config.h' - integer, intent(in) :: comm - integer, intent(out) :: info_used - integer, intent(out) :: ierror -end subroutine MPI_Comm_get_info - -end interface - - -interface - -subroutine MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag, ierror) - include 'mpif-config.h' - integer, intent(in) :: comm - integer, intent(in) :: comm_keyval - integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Comm_get_attr - -end interface - - -interface - -subroutine MPI_Comm_get_errhandler(comm, erhandler, ierror) - integer, intent(in) :: comm - integer, intent(out) :: erhandler - integer, intent(out) :: ierror -end subroutine MPI_Comm_get_errhandler - -end interface - - -interface - -subroutine MPI_Comm_get_name(comm, comm_name, resultlen, ierror) - integer, intent(in) :: comm - character(len=*), intent(out) :: comm_name - integer, intent(out) :: resultlen - integer, intent(out) :: ierror -end subroutine MPI_Comm_get_name - -end interface - - -interface - -subroutine MPI_Comm_group(comm, group, ierror) - integer, intent(in) :: comm - integer, intent(out) :: group - integer, intent(out) :: ierror -end subroutine MPI_Comm_group - -end interface - - -interface - -subroutine MPI_Comm_rank(comm, rank, ierror) - integer, intent(in) :: comm - integer, intent(out) :: rank - integer, intent(out) :: ierror -end subroutine MPI_Comm_rank - -end interface - - -interface - -subroutine MPI_Comm_remote_group(comm, group, ierror) - integer, intent(in) :: comm - integer, intent(out) :: group - integer, intent(out) :: ierror -end subroutine MPI_Comm_remote_group - -end interface - - -interface - -subroutine MPI_Comm_remote_size(comm, size, ierror) - integer, intent(in) :: comm - integer, intent(out) :: size - integer, intent(out) :: ierror -end subroutine MPI_Comm_remote_size - -end interface - - -interface - -subroutine MPI_Comm_set_info(comm, info, ierror) - include 'mpif-config.h' - integer, intent(in) :: comm - integer, intent(in) :: info - integer, intent(out) :: ierror -end subroutine MPI_Comm_set_info - -end interface - - -interface - -subroutine MPI_Comm_set_attr(comm, comm_keyval, attribute_val, ierror) - include 'mpif-config.h' - integer, intent(in) :: comm - integer, intent(in) :: comm_keyval - integer(kind=MPI_ADDRESS_KIND), intent(in) :: attribute_val - integer, intent(out) :: ierror -end subroutine MPI_Comm_set_attr - -end interface - - -interface - -subroutine MPI_Comm_set_errhandler(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(in) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Comm_set_errhandler - -end interface - - -interface - -subroutine MPI_Comm_set_name(comm, comm_name, ierror) - integer, intent(in) :: comm - character(len=*), intent(in) :: comm_name - integer, intent(out) :: ierror -end subroutine MPI_Comm_set_name - -end interface - - -interface - -subroutine MPI_Comm_size(comm, size, ierror) - integer, intent(in) :: comm - integer, intent(out) :: size - integer, intent(out) :: ierror -end subroutine MPI_Comm_size - -end interface - - -interface - -subroutine MPI_Comm_split(comm, color, key, newcomm, ierror) - integer, intent(in) :: comm - integer, intent(in) :: color - integer, intent(in) :: key - integer, intent(out) :: newcomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_split - -end interface - - -interface - -subroutine MPI_Comm_test_inter(comm, flag, ierror) - integer, intent(in) :: comm - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Comm_test_inter - -end interface - - -interface - -subroutine MPI_Dims_create(nnodes, ndims, dims, ierror) - integer, intent(in) :: nnodes - integer, intent(in) :: ndims - integer, dimension(*), intent(inout) :: dims - integer, intent(out) :: ierror -end subroutine MPI_Dims_create - -end interface - - -interface - -subroutine MPI_Errhandler_free(errhandler, ierror) - integer, intent(inout) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_free - -end interface - - -interface - -subroutine MPI_Error_class(errorcode, errorclass, ierror) - integer, intent(in) :: errorcode - integer, intent(out) :: errorclass - integer, intent(out) :: ierror -end subroutine MPI_Error_class - -end interface - - -interface - -subroutine MPI_Error_string(errorcode, string, resultlen, ierror) - integer, intent(in) :: errorcode - character(len=*), intent(out) :: string - integer, intent(out) :: resultlen - integer, intent(out) :: ierror -end subroutine MPI_Error_string - -end interface - - -interface - -subroutine MPI_Finalize(ierror) - integer, intent(out) :: ierror -end subroutine MPI_Finalize - -end interface - - -interface - -subroutine MPI_Finalized(flag, ierror) - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Finalized - -end interface - - -interface - -subroutine MPI_Get_count(status, datatype, count, ierror) - include 'mpif-config.h' - integer, dimension(MPI_STATUS_SIZE), intent(in) :: status - integer, intent(in) :: datatype - integer, intent(out) :: count - integer, intent(out) :: ierror -end subroutine MPI_Get_count - -end interface - - -interface - -subroutine MPI_Get_elements(status, datatype, count, ierror) - include 'mpif-config.h' - integer, dimension(MPI_STATUS_SIZE), intent(in) :: status - integer, intent(in) :: datatype - integer, intent(out) :: count - integer, intent(out) :: ierror -end subroutine MPI_Get_elements - -end interface - - -interface - -subroutine MPI_Get_elements_x(status, datatype, count, ierror) - include 'mpif-config.h' - integer, dimension(MPI_STATUS_SIZE), intent(in) :: status - integer, intent(in) :: datatype - integer(kind=MPI_COUNT_KIND), intent(out) :: count - integer, intent(out) :: ierror -end subroutine MPI_Get_elements_x - -end interface - - -interface - -subroutine MPI_Get_processor_name(name, resultlen, ierror) - character(len=*), intent(out) :: name - integer, intent(out) :: resultlen - integer, intent(out) :: ierror -end subroutine MPI_Get_processor_name - -end interface - - -interface - -subroutine MPI_Get_version(version, subversion, ierror) - integer, intent(out) :: version - integer, intent(out) :: subversion - integer, intent(out) :: ierror -end subroutine MPI_Get_version - -end interface - - -interface - -subroutine MPI_Graph_create(comm_old, nnodes, index, edges, reorder, & - comm_graph, ierror) - integer, intent(in) :: comm_old - integer, intent(in) :: nnodes - integer, dimension(*), intent(in) :: index - integer, dimension(*), intent(in) :: edges - logical, intent(in) :: reorder - integer, intent(out) :: comm_graph - integer, intent(out) :: ierror -end subroutine MPI_Graph_create - -end interface - - -interface - -subroutine MPI_Graph_get(comm, maxindex, maxedges, index, edges& - , ierror) - integer, intent(in) :: comm - integer, intent(in) :: maxindex - integer, intent(in) :: maxedges - integer, dimension(*), intent(out) :: index - integer, dimension(*), intent(out) :: edges - integer, intent(out) :: ierror -end subroutine MPI_Graph_get - -end interface - - -interface - -subroutine MPI_Graph_map(comm, nnodes, index, edges, newrank& - , ierror) - integer, intent(in) :: comm - integer, intent(in) :: nnodes - integer, dimension(*), intent(in) :: index - integer, dimension(*), intent(in) :: edges - integer, intent(out) :: newrank - integer, intent(out) :: ierror -end subroutine MPI_Graph_map - -end interface - - -interface - -subroutine MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors, ierror) - integer, intent(in) :: comm - integer, intent(in) :: rank - integer, intent(in) :: maxneighbors - integer, dimension(*), intent(out) :: neighbors - integer, intent(out) :: ierror -end subroutine MPI_Graph_neighbors - -end interface - - -interface - -subroutine MPI_Graph_neighbors_count(comm, rank, nneighbors, ierror) - integer, intent(in) :: comm - integer, intent(in) :: rank - integer, intent(out) :: nneighbors - integer, intent(out) :: ierror -end subroutine MPI_Graph_neighbors_count - -end interface - - -interface - -subroutine MPI_Graphdims_get(comm, nnodes, nedges, ierror) - integer, intent(in) :: comm - integer, intent(out) :: nnodes - integer, intent(out) :: nedges - integer, intent(out) :: ierror -end subroutine MPI_Graphdims_get - -end interface - - -interface - -subroutine MPI_Grequest_complete(request, ierror) - integer, intent(in) :: request - integer, intent(out) :: ierror -end subroutine MPI_Grequest_complete - -end interface - - -interface - -subroutine MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request& - , ierror) - include 'mpif-config.h' - external :: query_fn - external :: free_fn - external :: cancel_fn - integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state - integer, intent(out) :: request - integer, intent(out) :: ierror -end subroutine MPI_Grequest_start - -end interface - - -interface - -subroutine MPI_Group_compare(group1, group2, result, ierror) - integer, intent(in) :: group1 - integer, intent(in) :: group2 - integer, intent(out) :: result - integer, intent(out) :: ierror -end subroutine MPI_Group_compare - -end interface - - -interface - -subroutine MPI_Group_difference(group1, group2, newgroup, ierror) - integer, intent(in) :: group1 - integer, intent(in) :: group2 - integer, intent(out) :: newgroup - integer, intent(out) :: ierror -end subroutine MPI_Group_difference - -end interface - - -interface - -subroutine MPI_Group_excl(group, n, ranks, newgroup, ierror) - integer, intent(in) :: group - integer, intent(in) :: n - integer, dimension(*), intent(in) :: ranks - integer, intent(out) :: newgroup - integer, intent(out) :: ierror -end subroutine MPI_Group_excl - -end interface - - -interface - -subroutine MPI_Group_free(group, ierror) - integer, intent(inout) :: group - integer, intent(out) :: ierror -end subroutine MPI_Group_free - -end interface - -interface MPI_Group_from_session_pset -subroutine MPI_Group_from_session_pset(session, pset_name, newgroup, ierror) - implicit none - integer, intent(in) :: session - character(len=*), intent(in) :: pset_name - integer, intent(out) :: newgroup - integer, intent(out) :: ierror -end subroutine MPI_Group_from_session_pset -end interface - - -interface - -subroutine MPI_Group_incl(group, n, ranks, newgroup, ierror) - integer, intent(in) :: group - integer, intent(in) :: n - integer, dimension(*), intent(in) :: ranks - integer, intent(out) :: newgroup - integer, intent(out) :: ierror -end subroutine MPI_Group_incl - -end interface - - -interface - -subroutine MPI_Group_intersection(group1, group2, newgroup, ierror) - integer, intent(in) :: group1 - integer, intent(in) :: group2 - integer, intent(out) :: newgroup - integer, intent(out) :: ierror -end subroutine MPI_Group_intersection - -end interface - - -interface - -subroutine MPI_Group_range_excl(group, n, ranges, newgroup, ierror) - integer, intent(in) :: group - integer, intent(in) :: n - integer, dimension(3, *), intent(in) :: ranges - integer, intent(out) :: newgroup - integer, intent(out) :: ierror -end subroutine MPI_Group_range_excl - -end interface - - -interface - -subroutine MPI_Group_range_incl(group, n, ranges, newgroup, ierror) - integer, intent(in) :: group - integer, intent(in) :: n - integer, dimension(3, *), intent(in) :: ranges - integer, intent(out) :: newgroup - integer, intent(out) :: ierror -end subroutine MPI_Group_range_incl - -end interface - - -interface - -subroutine MPI_Group_rank(group, rank, ierror) - integer, intent(in) :: group - integer, intent(out) :: rank - integer, intent(out) :: ierror -end subroutine MPI_Group_rank - -end interface - - -interface - -subroutine MPI_Group_size(group, size, ierror) - integer, intent(in) :: group - integer, intent(out) :: size - integer, intent(out) :: ierror -end subroutine MPI_Group_size - -end interface - - -interface - -subroutine MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2& - , ierror) - integer, intent(in) :: group1 - integer, intent(in) :: n - integer, dimension(*), intent(in) :: ranks1 - integer, intent(in) :: group2 - integer, dimension(*), intent(out) :: ranks2 - integer, intent(out) :: ierror -end subroutine MPI_Group_translate_ranks - -end interface - - -interface - -subroutine MPI_Group_union(group1, group2, newgroup, ierror) - integer, intent(in) :: group1 - integer, intent(in) :: group2 - integer, intent(out) :: newgroup - integer, intent(out) :: ierror -end subroutine MPI_Group_union - -end interface - - -interface - -subroutine MPI_Info_create(info, ierror) - integer, intent(out) :: info - integer, intent(out) :: ierror -end subroutine MPI_Info_create - -end interface - - -interface - -subroutine MPI_Info_delete(info, key, ierror) - integer, intent(in) :: info - character(len=*), intent(in) :: key - integer, intent(out) :: ierror -end subroutine MPI_Info_delete - -end interface - - -interface - -subroutine MPI_Info_create_env(info, ierror) - integer, intent(out) :: info - integer, intent(out) :: ierror -end subroutine MPI_Info_create_env - -end interface - -interface - -subroutine MPI_Info_dup(info, newinfo, ierror) - integer, intent(in) :: info - integer, intent(out) :: newinfo - integer, intent(out) :: ierror -end subroutine MPI_Info_dup - -end interface - - -interface - -subroutine MPI_Info_free(info, ierror) - integer, intent(inout) :: info - integer, intent(out) :: ierror -end subroutine MPI_Info_free - -end interface - - -interface - -subroutine MPI_Info_get(info, key, valuelen, value, flag& - , ierror) - integer, intent(in) :: info - character(len=*), intent(in) :: key - integer, intent(in) :: valuelen - character(len=*), intent(out) :: value - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Info_get - -end interface - - -interface - -subroutine MPI_Info_get_nkeys(info, nkeys, ierror) - integer, intent(in) :: info - integer, intent(out) :: nkeys - integer, intent(out) :: ierror -end subroutine MPI_Info_get_nkeys - -end interface - - -interface - -subroutine MPI_Info_get_nthkey(info, n, key, ierror) - integer, intent(in) :: info - integer, intent(in) :: n - character(len=*), intent(out) :: key - integer, intent(out) :: ierror -end subroutine MPI_Info_get_nthkey - -end interface - - -interface - -subroutine MPI_Info_get_string(info, key, buflen, value, flag, ierror) - integer, intent(in) :: info - character(len=*), intent(in) :: key - integer, intent(inout) :: buflen - character(len=*), intent(out) :: value - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Info_get_string - -end interface - -interface - -subroutine MPI_Info_get_valuelen(info, key, valuelen, flag, ierror) - integer, intent(in) :: info - character(len=*), intent(in) :: key - integer, intent(out) :: valuelen - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Info_get_valuelen - -end interface - - -interface - -subroutine MPI_Info_set(info, key, value, ierror) - integer, intent(in) :: info - character(len=*), intent(in) :: key - character(len=*), intent(in) :: value - integer, intent(out) :: ierror -end subroutine MPI_Info_set - -end interface - - -interface - -subroutine MPI_Init(ierror) - integer, intent(out) :: ierror -end subroutine MPI_Init - -end interface - - -interface - -subroutine MPI_Init_thread(required, provided, ierror) - integer, intent(in) :: required - integer, intent(out) :: provided - integer, intent(out) :: ierror -end subroutine MPI_Init_thread - -end interface - - -interface - -subroutine MPI_Initialized(flag, ierror) - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Initialized - -end interface - - -interface - -subroutine MPI_Intercomm_create(local_comm, local_leader, bridge_comm, remote_leader, tag, & - newintercomm, ierror) - integer, intent(in) :: local_comm - integer, intent(in) :: local_leader - integer, intent(in) :: bridge_comm - integer, intent(in) :: remote_leader - integer, intent(in) :: tag - integer, intent(out) :: newintercomm - integer, intent(out) :: ierror -end subroutine MPI_Intercomm_create - -end interface - -interface MPI_Intercomm_create_from_groups - -subroutine MPI_Intercomm_create_from_groups(local_group, local_leader, remote_group, remote_leader, & - stringtag, info, errhandler, newintercomm, ierror) - implicit none - integer, intent(in) :: local_group, remote_group - integer, intent(in):: local_leader, remote_leader - character(len=*), intent(in) :: stringtag - integer, intent(in) :: info - integer, intent(in) :: errhandler - integer, intent(out) :: newintercomm - integer, intent(out) :: ierror -end subroutine MPI_Intercomm_create_from_groups - -end interface - - -interface - -subroutine MPI_Intercomm_merge(intercomm, high, newintracomm, ierror) - integer, intent(in) :: intercomm - logical, intent(in) :: high - integer, intent(out) :: newintracomm - integer, intent(out) :: ierror -end subroutine MPI_Intercomm_merge - -end interface - - -interface - -subroutine MPI_Iprobe(source, tag, comm, flag, status& - , ierror) - include 'mpif-config.h' - integer, intent(in) :: source - integer, intent(in) :: tag - integer, intent(in) :: comm - logical, intent(out) :: flag - integer, dimension(MPI_STATUS_SIZE), intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Iprobe - -end interface - - -interface - -subroutine MPI_Is_thread_main(flag, ierror) - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Is_thread_main - -end interface - - -interface - -subroutine MPI_Op_commutative(op, commute, ierror) - integer, intent(in) :: op - logical, intent(out) :: commute - integer, intent(out) :: ierror -end subroutine MPI_Op_commutative - -end interface - - -interface - -subroutine MPI_Op_create(function, commute, op, ierror) - external :: function - logical, intent(in) :: commute - integer, intent(out) :: op - integer, intent(out) :: ierror -end subroutine MPI_Op_create - -end interface - - -interface - -subroutine MPI_Op_free(op, ierror) - integer, intent(inout) :: op - integer, intent(out) :: ierror -end subroutine MPI_Op_free - -end interface - - -interface - -subroutine MPI_Pack_external_size(datarep, incount, datatype, size, ierror) - include 'mpif-config.h' - character(len=*), intent(in) :: datarep - integer, intent(in) :: incount - integer, intent(in) :: datatype - integer(kind=MPI_ADDRESS_KIND), intent(out) :: size - integer, intent(out) :: ierror -end subroutine MPI_Pack_external_size - -end interface - - -interface - -subroutine MPI_Pack_size(incount, datatype, comm, size, ierror) - integer, intent(in) :: incount - integer, intent(in) :: datatype - integer, intent(in) :: comm - integer, intent(out) :: size - integer, intent(out) :: ierror -end subroutine MPI_Pack_size - -end interface - - -interface - -subroutine MPI_Pcontrol(level) - integer, intent(in) :: level - -end subroutine MPI_Pcontrol - -end interface - - -interface - -subroutine MPI_Probe(source, tag, comm, status, ierror) - include 'mpif-config.h' - integer, intent(in) :: source - integer, intent(in) :: tag - integer, intent(in) :: comm - integer, dimension(MPI_STATUS_SIZE), intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Probe - -end interface - - -interface - -subroutine MPI_Parrived(request, partition, flag, ierror) - integer, intent(in) :: request - integer, intent(in) :: partition - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Parrived - -end interface - - -interface - -subroutine MPI_Pready(partition, request, ierror) - integer, intent(in) :: partition - integer, intent(in) :: request - integer, intent(out) :: ierror -end subroutine MPI_Pready - -end interface - - -interface - -subroutine MPI_Pready_list(length, array_of_partitions, request, ierror) - integer, intent(in) :: length - integer, dimension(*), intent(in) :: array_of_partitions - integer, intent(in) :: request - integer, intent(out) :: ierror -end subroutine MPI_Pready_list - -end interface - - -interface - -subroutine MPI_Pready_range(partition_low, partition_high, request, ierror) - integer, intent(in) :: partition_low - integer, intent(in) :: partition_high - integer, intent(in) :: request - integer, intent(out) :: ierror -end subroutine MPI_Pready_range - -end interface - - -interface - -subroutine MPI_Query_thread(provided, ierror) - integer, intent(out) :: provided - integer, intent(out) :: ierror -end subroutine MPI_Query_thread - -end interface - - -interface - -subroutine MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state& - , ierror) - include 'mpif-config.h' - character(len=*), intent(in) :: datarep - external :: read_conversion_fn - external :: write_conversion_fn - external :: dtype_file_extent_fn - integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state - integer, intent(out) :: ierror -end subroutine MPI_Register_datarep - -end interface - - -interface - -subroutine MPI_Request_free(request, ierror) - integer, intent(inout) :: request - integer, intent(out) :: ierror -end subroutine MPI_Request_free - -end interface - - -interface - -subroutine MPI_Request_get_status(request, flag, status, ierror) - include 'mpif-config.h' - integer, intent(in) :: request - logical, intent(out) :: flag - integer, dimension(MPI_STATUS_SIZE), intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Request_get_status - -end interface - -interface - -subroutine MPI_Session_call_errhandler(session, errorcode, ierror) - integer, intent(in) :: session - integer, intent(in) :: errorcode - integer, intent(out) :: ierror -end subroutine MPI_Session_call_errhandler - -end interface - -interface - -subroutine MPI_Session_create_errhandler(function, errhandler, ierror) - external :: function - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Session_create_errhandler - -end interface - - -interface - -subroutine MPI_Session_get_errhandler(session, erhandler, ierror) - integer, intent(in) :: session - integer, intent(out) :: erhandler - integer, intent(out) :: ierror -end subroutine MPI_Session_get_errhandler - -end interface - -interface - -subroutine MPI_Session_get_info(session, info, ierror) - implicit none - integer, intent(in) :: session - integer, intent(out) :: info - integer, intent(out) :: ierror -end subroutine MPI_Session_get_info - -end interface - -interface -subroutine MPI_Session_get_nth_pset(session, info, n, pset_len, pset_name, ierror) - implicit none - integer, intent(in) :: session - integer, intent(in) :: info - integer, intent(in) :: n - integer, intent(inout) :: pset_len - character(len=*), intent(out) :: pset_name - integer, intent(out) :: ierror -end subroutine MPI_Session_get_nth_pset -end interface - - -interface -subroutine MPI_Session_get_num_psets(session, info, npset_names, ierror) - implicit none - integer, intent(in) :: session - integer, intent(in) :: info - integer, intent(out) :: npset_names - integer, intent(out) :: ierror -end subroutine MPI_Session_get_num_psets -end interface - -interface -subroutine MPI_Session_get_pset_info(session, pset_name, info, ierror) - implicit none - integer, intent(in) :: session - character(len=*), intent(in) :: pset_name - integer, intent(out) :: info - integer, intent(out) :: ierror -end subroutine MPI_Session_get_pset_info -end interface - - -interface MPI_Session_init - -subroutine MPI_Session_init(info,errhandler,session,ierror) - implicit none - integer, intent(in) :: info - integer, intent(in) :: errhandler - integer, intent(out) :: session - integer, intent(out) :: ierror -end subroutine MPI_Session_init - -end interface MPI_Session_init - -interface MPI_Session_finalize - -subroutine MPI_Session_finalize(session,ierror) - implicit none - integer, intent(inout) :: session - integer, intent(out) :: ierror -end subroutine MPI_Session_finalize - -end interface MPI_Session_finalize - -interface - -subroutine MPI_Session_set_errhandler(session, errhandler, ierror) - integer, intent(in) :: session - integer, intent(in) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Session_set_errhandler - -end interface - -interface - -subroutine MPI_Start(request, ierror) - integer, intent(inout) :: request - integer, intent(out) :: ierror -end subroutine MPI_Start - -end interface - - -interface - -subroutine MPI_Startall(count, array_of_requests, ierror) - integer, intent(in) :: count - integer, dimension(*), intent(inout) :: array_of_requests - integer, intent(out) :: ierror -end subroutine MPI_Startall - -end interface - - -interface - -subroutine MPI_Status_set_cancelled(status, flag, ierror) - include 'mpif-config.h' - integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status - logical, intent(in) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Status_set_cancelled - -end interface - - -interface - -subroutine MPI_Status_set_elements(status, datatype, count, ierror) - include 'mpif-config.h' - integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status - integer, intent(in) :: datatype - integer, intent(in) :: count - integer, intent(out) :: ierror -end subroutine MPI_Status_set_elements - -end interface - - -interface - -subroutine MPI_Test(request, flag, status, ierror) - include 'mpif-config.h' - integer, intent(inout) :: request - logical, intent(out) :: flag - integer, dimension(MPI_STATUS_SIZE), intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Test - -end interface - - -interface - -subroutine MPI_Test_cancelled(status, flag, ierror) - include 'mpif-config.h' - integer, dimension(MPI_STATUS_SIZE), intent(in) :: status - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Test_cancelled - -end interface - - -interface - -subroutine MPI_Testall(count, array_of_requests, flag, array_of_statuses, ierror) - include 'mpif-config.h' - integer, intent(in) :: count - integer, dimension(*), intent(inout) :: array_of_requests - logical, intent(out) :: flag - integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses - integer, intent(out) :: ierror -end subroutine MPI_Testall - -end interface - - -interface - -subroutine MPI_Testany(count, array_of_requests, index, flag, status& - , ierror) - include 'mpif-config.h' - integer, intent(in) :: count - integer, dimension(*), intent(inout) :: array_of_requests - integer, intent(out) :: index - logical, intent(out) :: flag - integer, dimension(MPI_STATUS_SIZE), intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Testany - -end interface - - -interface - -subroutine MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses& - , ierror) - include 'mpif-config.h' - integer, intent(in) :: incount - integer, dimension(*), intent(inout) :: array_of_requests - integer, intent(out) :: outcount - integer, dimension(*), intent(out) :: array_of_indices - integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses - integer, intent(out) :: ierror -end subroutine MPI_Testsome - -end interface - - -interface - -subroutine MPI_Topo_test(comm, status, ierror) - integer, intent(in) :: comm - integer, intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Topo_test - -end interface - - -interface - -subroutine MPI_Type_commit(datatype, ierror) - integer, intent(inout) :: datatype - integer, intent(out) :: ierror -end subroutine MPI_Type_commit - -end interface - - -interface - -subroutine MPI_Type_contiguous(count, oldtype, newtype, ierror) - integer, intent(in) :: count - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_contiguous - -end interface - - -interface - -subroutine MPI_Type_create_darray(size, rank, ndims, gsize_array, distrib_array, & - darg_array, psize_array, order, oldtype, newtype, ierror) - integer, intent(in) :: size - integer, intent(in) :: rank - integer, intent(in) :: ndims - integer, dimension(*), intent(in) :: gsize_array - integer, dimension(*), intent(in) :: distrib_array - integer, dimension(*), intent(in) :: darg_array - integer, dimension(*), intent(in) :: psize_array - integer, intent(in) :: order - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_darray - -end interface - - -interface - -subroutine MPI_Type_create_f90_complex(p, r, newtype, ierror) - integer, intent(in) :: p - integer, intent(in) :: r - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_f90_complex - -end interface - - -interface - -subroutine MPI_Type_create_f90_integer(r, newtype, ierror) - integer, intent(in) :: r - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_f90_integer - -end interface - - -interface - -subroutine MPI_Type_create_f90_real(p, r, newtype, ierror) - integer, intent(in) :: p - integer, intent(in) :: r - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_f90_real - -end interface - - -interface - -subroutine MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype& - , ierror) - include 'mpif-config.h' - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_hindexed - -end interface - - -interface - -subroutine MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype& - , ierror) - include 'mpif-config.h' - integer, intent(in) :: count - integer, intent(in) :: blocklength - integer(kind=MPI_ADDRESS_KIND), intent(in) :: stride - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_hvector - -end interface - - -interface - -subroutine MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, intent(in) :: blocklength - integer, dimension(*), intent(in) :: array_of_displacements - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_indexed_block - -end interface - - -interface - -subroutine MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state, ierror) - include 'mpif-config.h' - external :: type_copy_attr_fn - external :: type_delete_attr_fn - integer, intent(out) :: type_keyval - integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state - integer, intent(out) :: ierror -end subroutine MPI_Type_create_keyval - -end interface - - -interface - -subroutine MPI_Type_create_resized(oldtype, lb, extent, newtype, ierror) - include 'mpif-config.h' - integer, intent(in) :: oldtype - integer(kind=MPI_ADDRESS_KIND), intent(in) :: lb - integer(kind=MPI_ADDRESS_KIND), intent(in) :: extent - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_resized - -end interface - - -interface - -subroutine MPI_Type_create_struct(count, array_of_block_lengths, array_of_displacements, array_of_types, newtype& - , ierror) - include 'mpif-config.h' - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_block_lengths - integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements - integer, dimension(*), intent(in) :: array_of_types - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_struct - -end interface - - -interface - -subroutine MPI_Type_create_subarray(ndims, size_array, subsize_array, start_array, order, & - oldtype, newtype, ierror) - integer, intent(in) :: ndims - integer, dimension(*), intent(in) :: size_array - integer, dimension(*), intent(in) :: subsize_array - integer, dimension(*), intent(in) :: start_array - integer, intent(in) :: order - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_subarray - -end interface - - -interface - -subroutine MPI_Type_delete_attr(datatype, type_keyval, ierror) - integer, intent(in) :: datatype - integer, intent(in) :: type_keyval - integer, intent(out) :: ierror -end subroutine MPI_Type_delete_attr - -end interface - - -interface - -subroutine MPI_Type_dup(oldtype, newtype, ierror) - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_dup - -end interface - - -interface - -subroutine MPI_Type_free(datatype, ierror) - integer, intent(inout) :: datatype - integer, intent(out) :: ierror -end subroutine MPI_Type_free - -end interface - - -interface - -subroutine MPI_Type_free_keyval(type_keyval, ierror) - integer, intent(inout) :: type_keyval - integer, intent(out) :: ierror -end subroutine MPI_Type_free_keyval - -end interface - - -interface - -subroutine MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag, ierror) - include 'mpif-config.h' - integer, intent(in) :: datatype - integer, intent(in) :: type_keyval - integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Type_get_attr - -end interface - - -interface - -subroutine MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, & - array_of_addresses, array_of_datatypes, ierror) - include 'mpif-config.h' - integer, intent(in) :: datatype - integer, intent(in) :: max_integers - integer, intent(in) :: max_addresses - integer, intent(in) :: max_datatypes - integer, dimension(*), intent(out) :: array_of_integers - integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(out) :: array_of_addresses - integer, dimension(*), intent(out) :: array_of_datatypes - integer, intent(out) :: ierror -end subroutine MPI_Type_get_contents - -end interface - - -interface - -subroutine MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner& - , ierror) - integer, intent(in) :: datatype - integer, intent(out) :: num_integers - integer, intent(out) :: num_addresses - integer, intent(out) :: num_datatypes - integer, intent(out) :: combiner - integer, intent(out) :: ierror -end subroutine MPI_Type_get_envelope - -end interface - - -interface - -subroutine MPI_Type_get_extent(datatype, lb, extent, ierror) - include 'mpif-config.h' - integer, intent(in) :: datatype - integer(kind=MPI_ADDRESS_KIND), intent(out) :: lb - integer(kind=MPI_ADDRESS_KIND), intent(out) :: extent - integer, intent(out) :: ierror -end subroutine MPI_Type_get_extent - -end interface - - -interface - -subroutine MPI_Type_get_extent_x(datatype, lb, extent, ierror) - include 'mpif-config.h' - integer, intent(in) :: datatype - integer(kind=MPI_COUNT_KIND), intent(out) :: lb - integer(kind=MPI_COUNT_KIND), intent(out) :: extent - integer, intent(out) :: ierror -end subroutine MPI_Type_get_extent_x - -end interface - - -interface - -subroutine MPI_Type_get_name(datatype, type_name, resultlen, ierror) - integer, intent(in) :: datatype - character(len=*), intent(out) :: type_name - integer, intent(out) :: resultlen - integer, intent(out) :: ierror -end subroutine MPI_Type_get_name - -end interface - - -interface - -subroutine MPI_Type_get_true_extent(datatype, true_lb, true_extent, ierror) - include 'mpif-config.h' - integer, intent(in) :: datatype - integer(kind=MPI_ADDRESS_KIND), intent(out) :: true_lb - integer(kind=MPI_ADDRESS_KIND), intent(out) :: true_extent - integer, intent(out) :: ierror -end subroutine MPI_Type_get_true_extent - -end interface - - -interface - -subroutine MPI_Type_get_true_extent_x(datatype, true_lb, true_extent, ierror) - include 'mpif-config.h' - integer, intent(in) :: datatype - integer(kind=MPI_COUNT_KIND), intent(out) :: true_lb - integer(kind=MPI_COUNT_KIND), intent(out) :: true_extent - integer, intent(out) :: ierror -end subroutine MPI_Type_get_true_extent_x - -end interface - - -interface - -subroutine MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_indexed - -end interface -interface - -subroutine MPI_Type_match_size(typeclass, size, datatype, ierror) - integer, intent(in) :: typeclass - integer, intent(in) :: size - integer, intent(out) :: datatype - integer, intent(out) :: ierror -end subroutine MPI_Type_match_size - -end interface - - -interface - -subroutine MPI_Type_set_attr(datatype, type_keyval, attr_val, ierror) - include 'mpif-config.h' - integer, intent(in) :: datatype - integer, intent(in) :: type_keyval - integer(kind=MPI_ADDRESS_KIND), intent(in) :: attr_val - integer, intent(out) :: ierror -end subroutine MPI_Type_set_attr - -end interface - - -interface - -subroutine MPI_Type_set_name(datatype, type_name, ierror) - integer, intent(in) :: datatype - character(len=*), intent(in) :: type_name - integer, intent(out) :: ierror -end subroutine MPI_Type_set_name - -end interface - - -interface - -subroutine MPI_Type_size(datatype, size, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: size - integer, intent(out) :: ierror -end subroutine MPI_Type_size - -end interface - - -interface - -subroutine MPI_Type_size_x(datatype, size, ierror) - include 'mpif-config.h' - integer, intent(in) :: datatype - integer(kind=MPI_COUNT_KIND), intent(out) :: size - integer, intent(out) :: ierror -end subroutine MPI_Type_size_x - -end interface - - -interface - -subroutine MPI_Type_vector(count, blocklength, stride, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, intent(in) :: blocklength - integer, intent(in) :: stride - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_vector - -end interface - - -interface - -subroutine MPI_Wait(request, status, ierror) - include 'mpif-config.h' - integer, intent(inout) :: request - integer, dimension(MPI_STATUS_SIZE), intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Wait - -end interface - - -interface - -subroutine MPI_Waitall(count, array_of_requests, array_of_statuses, ierror) - include 'mpif-config.h' - integer, intent(in) :: count - integer, dimension(*), intent(inout) :: array_of_requests - integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses - integer, intent(out) :: ierror -end subroutine MPI_Waitall - -end interface - - -interface - -subroutine MPI_Waitany(count, array_of_requests, index, status, ierror) - include 'mpif-config.h' - integer, intent(in) :: count - integer, dimension(*), intent(inout) :: array_of_requests - integer, intent(out) :: index - integer, dimension(MPI_STATUS_SIZE), intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Waitany - -end interface - - -interface - -subroutine MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses& - , ierror) - include 'mpif-config.h' - integer, intent(in) :: incount - integer, dimension(*), intent(inout) :: array_of_requests - integer, intent(out) :: outcount - integer, dimension(*), intent(out) :: array_of_indices - integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses - integer, intent(out) :: ierror -end subroutine MPI_Waitsome - -end interface - - -interface - -subroutine MPI_Win_call_errhandler(win, errorcode, ierror) - integer, intent(in) :: win - integer, intent(in) :: errorcode - integer, intent(out) :: ierror -end subroutine MPI_Win_call_errhandler - -end interface - - -interface - -subroutine MPI_Win_complete(win, ierror) - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_complete - -end interface - - -interface - -subroutine MPI_Win_create_errhandler(function, errhandler, ierror) - external :: function - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Win_create_errhandler - -end interface - - -interface - -subroutine MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state, ierror) - include 'mpif-config.h' - external :: win_copy_attr_fn - external :: win_delete_attr_fn - integer, intent(out) :: win_keyval - integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state - integer, intent(out) :: ierror -end subroutine MPI_Win_create_keyval - -end interface - - -interface - -subroutine MPI_Win_delete_attr(win, win_keyval, ierror) - integer, intent(in) :: win - integer, intent(in) :: win_keyval - integer, intent(out) :: ierror -end subroutine MPI_Win_delete_attr - -end interface - - -interface - -subroutine MPI_Win_fence(assert, win, ierror) - integer, intent(in) :: assert - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_fence - -end interface - - -interface - -subroutine MPI_Win_free(win, ierror) - integer, intent(inout) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_free - -end interface - - -interface - -subroutine MPI_Win_free_keyval(win_keyval, ierror) - integer, intent(inout) :: win_keyval - integer, intent(out) :: ierror -end subroutine MPI_Win_free_keyval - -end interface - - -interface - -subroutine MPI_Win_get_attr(win, win_keyval, attribute_val, flag, ierror) - include 'mpif-config.h' - integer, intent(in) :: win - integer, intent(in) :: win_keyval - integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Win_get_attr - -end interface - - -interface - -subroutine MPI_Win_get_errhandler(win, errhandler, ierror) - integer, intent(in) :: win - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Win_get_errhandler - -end interface - - -interface - -subroutine MPI_Win_get_group(win, group, ierror) - integer, intent(in) :: win - integer, intent(out) :: group - integer, intent(out) :: ierror -end subroutine MPI_Win_get_group - -end interface - - -interface - -subroutine MPI_Win_get_name(win, win_name, resultlen, ierror) - integer, intent(in) :: win - character(len=*), intent(out) :: win_name - integer, intent(out) :: resultlen - integer, intent(out) :: ierror -end subroutine MPI_Win_get_name - -end interface - - -interface - -subroutine MPI_Win_lock(lock_type, rank, assert, win, ierror) - integer, intent(in) :: lock_type - integer, intent(in) :: rank - integer, intent(in) :: assert - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_lock - -end interface - - -interface - -subroutine MPI_Win_post(group, assert, win, ierror) - integer, intent(in) :: group - integer, intent(in) :: assert - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_post - -end interface - - -interface - -subroutine MPI_Win_set_attr(win, win_keyval, attribute_val, ierror) - include 'mpif-config.h' - integer, intent(in) :: win - integer, intent(in) :: win_keyval - integer(kind=MPI_ADDRESS_KIND), intent(in) :: attribute_val - integer, intent(out) :: ierror -end subroutine MPI_Win_set_attr - -end interface - - -interface - -subroutine MPI_Win_set_errhandler(win, errhandler, ierror) - integer, intent(in) :: win - integer, intent(in) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Win_set_errhandler - -end interface - - -interface - -subroutine MPI_Win_set_name(win, win_name, ierror) - integer, intent(in) :: win - character(len=*), intent(in) :: win_name - integer, intent(out) :: ierror -end subroutine MPI_Win_set_name - -end interface - - -interface - -subroutine MPI_Win_start(group, assert, win, ierror) - integer, intent(in) :: group - integer, intent(in) :: assert - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_start - -end interface - - -interface - -subroutine MPI_Win_test(win, flag, ierror) - integer, intent(in) :: win - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Win_test - -end interface - - -interface - -subroutine MPI_Win_unlock(rank, win, ierror) - integer, intent(in) :: rank - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_unlock - -end interface - - -interface - -subroutine MPI_Win_wait(win, ierror) - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_wait - -end interface - - -interface - -subroutine MPI_Close_port(port_name, ierror) - character(len=*), intent(in) :: port_name - integer, intent(out) :: ierror -end subroutine MPI_Close_port - -end interface - - -interface - -subroutine MPI_Lookup_name(service_name, info, port_name, ierror) - character(len=*), intent(in) :: service_name - integer, intent(in) :: info - character(len=*), intent(out) :: port_name - integer, intent(out) :: ierror -end subroutine MPI_Lookup_name - -end interface - - -interface - -subroutine MPI_Open_port(info, port_name, ierror) - integer, intent(in) :: info - character(len=*), intent(out) :: port_name - integer, intent(out) :: ierror -end subroutine MPI_Open_port - -end interface - - -interface - -subroutine MPI_Publish_name(service_name, info, port_name, ierror) - character(len=*), intent(in) :: service_name - integer, intent(in) :: info - character(len=*), intent(in) :: port_name - integer, intent(out) :: ierror -end subroutine MPI_Publish_name - -end interface - - -interface - -subroutine MPI_Unpublish_name(service_name, info, port_name, ierror) - character(len=*), intent(in) :: service_name - integer, intent(in) :: info - character(len=*), intent(in) :: port_name - integer, intent(out) :: ierror -end subroutine MPI_Unpublish_name - -end interface - - -interface - -subroutine MPI_Comm_disconnect(comm, ierror) - integer, intent(inout) :: comm - integer, intent(out) :: ierror -end subroutine MPI_Comm_disconnect - -end interface - - -interface - -subroutine MPI_Comm_get_parent(parent, ierror) - integer, intent(out) :: parent - integer, intent(out) :: ierror -end subroutine MPI_Comm_get_parent - -end interface - - -interface - -subroutine MPI_Comm_join(fd, intercomm, ierror) - integer, intent(in) :: fd - integer, intent(out) :: intercomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_join - -end interface - - -interface - -subroutine MPI_Comm_accept(port_name, info, root, comm, newcomm& - , ierror) - character(len=*), intent(in) :: port_name - integer, intent(in) :: info - integer, intent(in) :: root - integer, intent(in) :: comm - integer, intent(out) :: newcomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_accept - -end interface - - -interface - -subroutine MPI_Comm_connect(port_name, info, root, comm, newcomm& - , ierror) - character(len=*), intent(in) :: port_name - integer, intent(in) :: info - integer, intent(in) :: root - integer, intent(in) :: comm - integer, intent(out) :: newcomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_connect - -end interface - - -interface - -subroutine MPI_Comm_spawn(command, argv, maxprocs, info, root, & - comm, intercomm, array_of_errcodes, ierror) - character(len=*), intent(in) :: command - character(len=*), dimension(*), intent(in) :: argv - integer, intent(in) :: maxprocs - integer, intent(in) :: info - integer, intent(in) :: root - integer, intent(in) :: comm - integer, intent(out) :: intercomm - integer, dimension(*), intent(out) :: array_of_errcodes - integer, intent(out) :: ierror -end subroutine MPI_Comm_spawn - -end interface - - -interface - -subroutine MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, & - root, comm, intercomm, array_of_errcodes, ierror) - integer, intent(in) :: count - character(len=*), dimension(*), intent(in) :: array_of_commands - character(len=*), dimension(count,*), intent(in) :: array_of_argv - integer, dimension(*), intent(in) :: array_of_maxprocs - integer, dimension(*), intent(in) :: array_of_info - integer, intent(in) :: root - integer, intent(in) :: comm - integer, intent(out) :: intercomm - integer, dimension(*), intent(out) :: array_of_errcodes - integer, intent(out) :: ierror -end subroutine MPI_Comm_spawn_multiple - -end interface - - -interface - -subroutine MPI_Mprobe(source, tag, comm, message, status, ierror) - include 'mpif-config.h' - integer, intent(in) :: source - integer, intent(in) :: tag - integer, intent(in) :: comm - integer, intent(out) :: message - integer, dimension(MPI_STATUS_SIZE), intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Mprobe - -end interface - - -interface - -subroutine MPI_Improbe(source, tag, comm, flag, message, status, ierror) - include 'mpif-config.h' - integer, intent(in) :: source - integer, intent(in) :: tag - integer, intent(in) :: comm - logical, intent(out) :: flag - integer, intent(out) :: message - integer, dimension(MPI_STATUS_SIZE), intent(out) :: status - integer, intent(out) :: ierror -end subroutine MPI_Improbe - -end interface - - -interface - -subroutine MPI_Get_library_version(version, resultlen, ierror) - character(len=*), intent(out) :: version - integer, intent(out) :: resultlen - integer, intent(out) :: ierror -end subroutine MPI_Get_library_version - -end interface - - -interface - -subroutine MPI_Comm_split_type(comm, split_type, key, info, newcomm, ierror) - integer, intent(in) :: comm - integer, intent(in) :: split_type - integer, intent(in) :: key - integer, intent(in) :: info - integer, intent(out) :: newcomm - integer, intent(out) :: ierror -end subroutine MPI_Comm_split_type - -end interface - - -interface - -subroutine MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype& - , ierror) - include 'mpif-config.h' - integer, intent(in) :: count - integer, intent(in) :: blocklength - integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_create_hindexed_block - -end interface - - -interface - -subroutine MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, & - weights, info, reorder, comm_dist_graph, ierror) - integer, intent(in) :: comm_old - integer, intent(in) :: n - integer, dimension(n), intent(in) :: sources - integer, dimension(n), intent(in) :: degrees - integer, dimension(n), intent(in) :: destinations - integer, dimension(n), intent(in) :: weights - integer, intent(in) :: info - logical, intent(in) :: reorder - integer, intent(out) :: comm_dist_graph - integer, intent(out) :: ierror -end subroutine MPI_Dist_graph_create - -end interface - - -interface - -subroutine MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, & - outdegree, destinations, destweights, info, reorder, & - comm_dist_graph, ierror) - integer, intent(in) :: comm_old - integer, intent(in) :: indegree - integer, dimension(indegree), intent(in) :: sources - integer, dimension(indegree), intent(in) :: sourceweights - integer, intent(in) :: outdegree - integer, dimension(outdegree), intent(in) :: destinations - integer, dimension(outdegree), intent(in) :: destweights - integer, intent(in) :: info - logical, intent(in) :: reorder - integer, intent(out) :: comm_dist_graph - integer, intent(out) :: ierror -end subroutine MPI_Dist_graph_create_adjacent - -end interface - - -interface - -subroutine MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted, ierror) - integer, intent(in) :: comm - integer, intent(out) :: indegree - integer, intent(out) :: outdegree - logical, intent(out) :: weighted - integer, intent(out) :: ierror -end subroutine MPI_Dist_graph_neighbors_count - -end interface - - -interface - -subroutine MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, & - maxoutdegree, destinations, destweights, ierror) - integer, intent(in) :: comm - integer, intent(in) :: maxindegree - integer, dimension(maxindegree), intent(out) :: sources - integer, dimension(maxindegree), intent(out) :: sourceweights - integer, intent(in) :: maxoutdegree - integer, dimension(maxoutdegree), intent(out) :: destinations - integer, dimension(maxoutdegree), intent(out) :: destweights - integer, intent(out) :: ierror -end subroutine MPI_Dist_graph_neighbors - -end interface - - -interface - -subroutine MPI_Win_flush(rank, win, ierror) - integer, intent(in) :: rank - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_flush - -end interface - - -interface - -subroutine MPI_Win_flush_all(win, ierror) - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_flush_all - -end interface - - -interface - -subroutine MPI_Win_flush_local(rank, win, ierror) - integer, intent(in) :: rank - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_flush_local - -end interface - - -interface - -subroutine MPI_Win_flush_local_all(win, ierror) - integer, intent(in) :: win - integer, intent(out) :: ierror -end subroutine MPI_Win_flush_local_all - -end interface diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h deleted file mode 100644 index cb44e329474..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h +++ /dev/null @@ -1,185 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2006-2021 Cisco Systems, Inc. All rights reserved -! Copyright (c) 2016 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! Copyright (c) 2018 Los Alamos National Security, LLC. All rights -! reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -interface - -subroutine MPI_Attr_delete(comm, keyval, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: ierror -end subroutine MPI_Attr_delete - -end interface - - -interface - -subroutine MPI_Attr_get(comm, keyval, attribute_val, flag, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: attribute_val - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Attr_get - -end interface - - -interface - -subroutine MPI_Attr_put(comm, keyval, attribute_val, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(in) :: attribute_val - integer, intent(out) :: ierror -end subroutine MPI_Attr_put - -end interface - -interface - -subroutine MPI_Errhandler_create(function, errhandler, ierror) - external :: function - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_create - -end interface - -interface - -subroutine MPI_Errhandler_get(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_get - -end interface - - -interface - -subroutine MPI_Errhandler_set(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(in) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_set - -end interface - -interface - -subroutine MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state, ierror) - external :: copy_fn - external :: delete_fn - integer, intent(out) :: keyval - integer, intent(in) :: extra_state - integer, intent(out) :: ierror -end subroutine MPI_Keyval_create - -end interface - - -interface - -subroutine MPI_Keyval_free(keyval, ierror) - integer, intent(inout) :: keyval - integer, intent(out) :: ierror -end subroutine MPI_Keyval_free - -end interface - -interface - -subroutine MPI_Type_extent(datatype, extent, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: extent - integer, intent(out) :: ierror -end subroutine MPI_Type_extent - -end interface - -interface - -subroutine MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_hindexed - -end interface - - -interface - -subroutine MPI_Type_hvector(count, blocklength, stride, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, intent(in) :: blocklength - integer, intent(in) :: stride - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_hvector - -end interface - -interface - -subroutine MPI_Type_lb(datatype, lb, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: lb - integer, intent(out) :: ierror -end subroutine MPI_Type_lb - -end interface - -interface - -subroutine MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, dimension(*), intent(in) :: array_of_types - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_struct - -end interface - - -interface - -subroutine MPI_Type_ub(datatype, ub, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: ub - integer, intent(out) :: ierror -end subroutine MPI_Type_ub - -end interface diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-status.h b/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-status.h deleted file mode 100644 index 126340c08a3..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-status.h +++ /dev/null @@ -1,36 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2020 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! Copyright (c) 2021 Cisco Systems, Inc. All rights reserved -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ - - -interface - -subroutine MPI_Status_f082f(f08_status, f_status, ierror) - use mpi_types - include 'mpif-config.h' - type(MPI_Status), intent(in) :: f08_status - integer, intent(out) :: f_status(MPI_STATUS_SIZE) - integer, intent(out) :: ierror -end subroutine MPI_Status_f082f - -end interface - - -interface - -subroutine MPI_Status_f2f08(f_status, f08_status, ierror) - use mpi_types - include 'mpif-config.h' - integer, intent(in) :: f_status(MPI_STATUS_SIZE) - type(MPI_Status), intent(out) :: f08_status - integer, intent(out) :: ierror -end subroutine MPI_Status_f2f08 - -end interface diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi.F90 b/ompi/mpi/fortran/use-mpi-tkr/mpi.F90 deleted file mode 100644 index b8b8942fdf3..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi.F90 +++ /dev/null @@ -1,81 +0,0 @@ -! -*- f90 -*- -! -! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. -! Copyright (c) 2016-2020 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -#include "ompi/mpi/fortran/configure-fortran-output.h" - -module mpi - -#if OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS - use mpi_types -#endif - - include "mpif-config.h" - include "mpif-constants.h" - include "mpif-handles.h" - include "mpif-io-constants.h" - include "mpif-io-handles.h" - include "mpif-sentinels.h" - -! The MPI attribute callback functions - - include "../base/attr-fn-int-callback-interfaces.h" - -! The MPI_CONVERSION_FN_NULL function - - include "../base/conversion-fn-null-int-interface.h" - -! Functions that have overloaded interfaces with TYPE(C_PTR) (which -! this compiler may or may not support). We use an "if" preprocessor -! macro in this file, so we need to use the preprocessor include -! directive, not the Fortran include. -#include "mpi-f90-cptr-interfaces.h" -#include "pmpi-f90-cptr-interfaces.h" - -#if OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS - include "mpi-f90-status.h" - include "pmpi-f90-status.h" -#endif - -! This file is generated, and is *huge*. Its size is directly related -! to the --with-f90-max-array-dim configure parameter. - -# include "mpi-f90-interfaces.h" -# include "pmpi-f90-interfaces.h" -#if OMPI_PROVIDE_MPI_FILE_INTEFACE -# include "mpi-f90-file-interfaces.h" -# include "pmpi-f90-file-interfaces.h" -#endif - -#if OMPI_FORTRAN_BUILD_SIZEOF - include "mpi-tkr-sizeof.h" -#endif - -#if !defined(OMPI_ENABLE_MPI1_COMPAT) - -#error "Remove MPI-1 compat code" - -#elif OMPI_ENABLE_MPI1_COMPAT -# include "mpi-f90-removed-interfaces.h" -# include "pmpi-f90-removed-interfaces.h" -#endif - -end module mpi diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi_aint_add_f90.f90 b/ompi/mpi/fortran/use-mpi-tkr/mpi_aint_add_f90.f90 deleted file mode 100644 index e1e7140cd1e..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi_aint_add_f90.f90 +++ /dev/null @@ -1,31 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. -! Copyright (c) 2015 Los Alamos National Security, LLC. All rights -! reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -function MPI_Aint_add(base, diff) - include 'mpif-config.h' - integer(kind=MPI_ADDRESS_KIND), intent(in) :: base - integer(kind=MPI_ADDRESS_KIND), intent(in) :: diff - integer(kind=MPI_ADDRESS_KIND) :: MPI_Aint_add,foo - call MPI_Aint_add_f90(base,diff,foo) - MPI_Aint_add = foo -end function MPI_Aint_add - diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi_aint_diff_f90.f90 b/ompi/mpi/fortran/use-mpi-tkr/mpi_aint_diff_f90.f90 deleted file mode 100644 index 2bc6e485c87..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi_aint_diff_f90.f90 +++ /dev/null @@ -1,31 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. -! Copyright (c) 2015 Los Alamos National Security, LLC. All rights -! reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -function MPI_Aint_diff(addr1, addr2) - include 'mpif-config.h' - integer(kind=MPI_ADDRESS_KIND), intent(in) :: addr1 - integer(kind=MPI_ADDRESS_KIND), intent(in) :: addr2 - integer(kind=MPI_ADDRESS_KIND) :: MPI_Aint_diff,foo - call MPI_Aint_diff_f90(addr1,addr2,foo) - MPI_Aint_diff = foo -end function MPI_Aint_diff - diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi_wtick_f90.f90 b/ompi/mpi/fortran/use-mpi-tkr/mpi_wtick_f90.f90 deleted file mode 100644 index dcd4e0d5ff2..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi_wtick_f90.f90 +++ /dev/null @@ -1,27 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -function MPI_Wtick() - implicit none - double precision :: MPI_Wtick, foo - call MPI_Wtick_f90(foo) - MPI_Wtick = foo -end function MPI_Wtick - diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi_wtime_f90.f90 b/ompi/mpi/fortran/use-mpi-tkr/mpi_wtime_f90.f90 deleted file mode 100644 index 18880e21e30..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi_wtime_f90.f90 +++ /dev/null @@ -1,27 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -function MPI_Wtime() - implicit none - double precision :: MPI_Wtime, foo - call MPI_Wtime_f90(foo) - MPI_Wtime = foo -end function MPI_Wtime - diff --git a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h deleted file mode 100644 index 5cf5a778578..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h +++ /dev/null @@ -1,18 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2020 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ - -#define MPI_Win_allocate PMPI_Win_allocate -#define MPI_Win_allocate_cptr PMPI_Win_allocate_cptr -#define MPI_Win_allocate_shared PMPI_Win_allocate_shared -#define MPI_Win_allocate_shared_cptr PMPI_Win_allocate_shared_cptr -#define MPI_Win_shared_query PMPI_Win_shared_query -#define MPI_Win_shared_query_cptr PMPI_Win_shared_query_cptr - -#include "ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h" diff --git a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-file-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-file-interfaces.h deleted file mode 100644 index 783e16642dd..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-file-interfaces.h +++ /dev/null @@ -1,37 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2020 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ - -#define MPI_File_call_errhandler PMPI_File_call_errhandler -#define MPI_File_close PMPI_File_close -#define MPI_File_create_errhandler PMPI_File_create_errhandler -#define MPI_File_delete PMPI_File_delete -#define MPI_File_get_amode PMPI_File_get_amode -#define MPI_File_get_atomicity PMPI_File_get_atomicity -#define MPI_File_get_byte_offset PMPI_File_get_byte_offset -#define MPI_File_get_errhandler PMPI_File_get_errhandler -#define MPI_File_get_group PMPI_File_get_group -#define MPI_File_get_info PMPI_File_get_info -#define MPI_File_get_position PMPI_File_get_position -#define MPI_File_get_position_shared PMPI_File_get_position_shared -#define MPI_File_get_size PMPI_File_get_size -#define MPI_File_get_type_extent PMPI_File_get_type_extent -#define MPI_File_get_view PMPI_File_get_view -#define MPI_File_open PMPI_File_open -#define MPI_File_preallocate PMPI_File_preallocate -#define MPI_File_seek PMPI_File_seek -#define MPI_File_seek_shared PMPI_File_seek_shared -#define MPI_File_set_atomicity PMPI_File_set_atomicity -#define MPI_File_set_errhandler PMPI_File_set_errhandler -#define MPI_File_set_info PMPI_File_set_info -#define MPI_File_set_size PMPI_File_set_size -#define MPI_File_set_view PMPI_File_set_view -#define MPI_File_sync PMPI_File_sync - -#include "ompi/mpi/fortran/use-mpi-tkr/mpi-f90-file-interfaces.h" diff --git a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-interfaces.h deleted file mode 100644 index 0c990f824b5..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-interfaces.h +++ /dev/null @@ -1,232 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2020 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - - -#define MPI_Wtick PMPI_Wtick -#define MPI_Wtime PMPI_Wtime -#define MPI_Abort PMPI_Abort -#define MPI_Add_error_class PMPI_Add_error_class -#define MPI_Add_error_code PMPI_Add_error_code -#define MPI_Add_error_string PMPI_Add_error_string -#define MPI_Aint_add PMPI_Aint_add -#define MPI_Aint_diff PMPI_Aint_diff -#define MPI_Barrier PMPI_Barrier -#define MPI_Ibarrier PMPI_Ibarrier -#define MPI_Cancel PMPI_Cancel -#define MPI_Cart_coords PMPI_Cart_coords -#define MPI_Cart_create PMPI_Cart_create -#define MPI_Cart_get PMPI_Cart_get -#define MPI_Cart_map PMPI_Cart_map -#define MPI_Cart_rank PMPI_Cart_rank -#define MPI_Cart_shift PMPI_Cart_shift -#define MPI_Cart_sub PMPI_Cart_sub -#define MPI_Cartdim_get PMPI_Cartdim_get -#define MPI_Comm_call_errhandler PMPI_Comm_call_errhandler -#define MPI_Comm_compare PMPI_Comm_compare -#define MPI_Comm_create PMPI_Comm_create -#define MPI_Comm_create_from_group PMPI_Comm_create_from_group -#define MPI_Comm_create_group PMPI_Comm_create_group -#define MPI_Comm_create_errhandler PMPI_Comm_create_errhandler -#define MPI_Comm_create_keyval PMPI_Comm_create_keyval -#define MPI_Comm_delete_attr PMPI_Comm_delete_attr -#define MPI_Comm_dup PMPI_Comm_dup -#define MPI_Comm_dup_with_info PMPI_Comm_dup_with_info -#define MPI_Comm_idup PMPI_Comm_idup -#define MPI_Comm_idup_with_info PMPI_Comm_idup_with_info -#define MPI_Comm_free PMPI_Comm_free -#define MPI_Comm_free_keyval PMPI_Comm_free_keyval -#define MPI_Comm_get_info PMPI_Comm_get_info -#define MPI_Comm_get_attr PMPI_Comm_get_attr -#define MPI_Comm_get_errhandler PMPI_Comm_get_errhandler -#define MPI_Comm_get_name PMPI_Comm_get_name -#define MPI_Comm_group PMPI_Comm_group -#define MPI_Comm_rank PMPI_Comm_rank -#define MPI_Comm_remote_group PMPI_Comm_remote_group -#define MPI_Comm_remote_size PMPI_Comm_remote_size -#define MPI_Comm_set_info PMPI_Comm_set_info -#define MPI_Comm_set_attr PMPI_Comm_set_attr -#define MPI_Comm_set_errhandler PMPI_Comm_set_errhandler -#define MPI_Comm_set_name PMPI_Comm_set_name -#define MPI_Comm_size PMPI_Comm_size -#define MPI_Comm_split PMPI_Comm_split -#define MPI_Comm_test_inter PMPI_Comm_test_inter -#define MPI_Dims_create PMPI_Dims_create -#define MPI_Errhandler_free PMPI_Errhandler_free -#define MPI_Error_class PMPI_Error_class -#define MPI_Error_string PMPI_Error_string -#define MPI_Finalize PMPI_Finalize -#define MPI_Finalized PMPI_Finalized -#define MPI_Get_count PMPI_Get_count -#define MPI_Get_elements PMPI_Get_elements -#define MPI_Get_elements_x PMPI_Get_elements_x -#define MPI_Get_processor_name PMPI_Get_processor_name -#define MPI_Get_version PMPI_Get_version -#define MPI_Graph_create PMPI_Graph_create -#define MPI_Graph_get PMPI_Graph_get -#define MPI_Graph_map PMPI_Graph_map -#define MPI_Graph_neighbors PMPI_Graph_neighbors -#define MPI_Graph_neighbors_count PMPI_Graph_neighbors_count -#define MPI_Graphdims_get PMPI_Graphdims_get -#define MPI_Grequest_complete PMPI_Grequest_complete -#define MPI_Grequest_start PMPI_Grequest_start -#define MPI_Group_compare PMPI_Group_compare -#define MPI_Group_difference PMPI_Group_difference -#define MPI_Group_excl PMPI_Group_excl -#define MPI_Group_free PMPI_Group_free -#define MPI_Group_from_session_pset PMPI_Group_from_session_pset -#define MPI_Group_incl PMPI_Group_incl -#define MPI_Group_intersection PMPI_Group_intersection -#define MPI_Group_range_excl PMPI_Group_range_excl -#define MPI_Group_range_incl PMPI_Group_range_incl -#define MPI_Group_rank PMPI_Group_rank -#define MPI_Group_size PMPI_Group_size -#define MPI_Group_translate_ranks PMPI_Group_translate_ranks -#define MPI_Group_union PMPI_Group_union -#define MPI_Info_create PMPI_Info_create -#define MPI_Info_create_env PMPI_Info_create_env -#define MPI_Info_delete PMPI_Info_delete -#define MPI_Info_dup PMPI_Info_dup -#define MPI_Info_free PMPI_Info_free -#define MPI_Info_get PMPI_Info_get -#define MPI_Info_get_nkeys PMPI_Info_get_nkeys -#define MPI_Info_get_nthkey PMPI_Info_get_nthkey -#define MPI_Info_get_string PMPI_Info_get_string -#define MPI_Info_get_valuelen PMPI_Info_get_valuelen -#define MPI_Info_set PMPI_Info_set -#define MPI_Init PMPI_Init -#define MPI_Init_thread PMPI_Init_thread -#define MPI_Initialized PMPI_Initialized -#define MPI_Intercomm_create PMPI_Intercomm_create -#define MPI_Intercomm_create_from_groups PMPI_Intercomm_create_from_groups -#define MPI_Intercomm_merge PMPI_Intercomm_merge -#define MPI_Iprobe PMPI_Iprobe -#define MPI_Is_thread_main PMPI_Is_thread_main -#define MPI_Op_commutative PMPI_Op_commutative -#define MPI_Op_create PMPI_Op_create -#define MPI_Op_free PMPI_Op_free -#define MPI_Pack_external_size PMPI_Pack_external_size -#define MPI_Pack_size PMPI_Pack_size -#define MPI_Pcontrol PMPI_Pcontrol -#define MPI_Probe PMPI_Probe -#define MPI_Parrived PMPI_Parrived -#define MPI_Pready PMPI_Pready -#define MPI_Pready_list PMPI_Pready_list -#define MPI_Pready_range PMPI_Pready_range -#define MPI_Query_thread PMPI_Query_thread -#define MPI_Register_datarep PMPI_Register_datarep -#define MPI_Request_free PMPI_Request_free -#define MPI_Request_get_status PMPI_Request_get_status -#define MPI_Session_call_errhandler PMPI_Session_call_errhandler -#define MPI_Session_create_errhandler PMPI_Session_create_errhandler -#define MPI_Session_get_errhandler PMPI_Session_get_errhandler -#define MPI_Session_get_info PMPI_Session_get_info -#define MPI_Session_get_nth_pset PMPI_Session_get_nth_pset -#define MPI_Session_get_num_psets PMPI_Session_get_num_psets -#define MPI_Session_get_pset_info PMPI_Session_get_pset_info -#define MPI_Session_init PMPI_Session_init -#define MPI_Session_finalize PMPI_Session_finalize -#define MPI_Session_set_errhandler PMPI_Session_set_errhandler -#define MPI_Start PMPI_Start -#define MPI_Startall PMPI_Startall -#define MPI_Status_f2f08 PMPI_Status_f2f08 -#define MPI_Status_f082f PMPI_Status_f082f -#define MPI_Status_set_cancelled PMPI_Status_set_cancelled -#define MPI_Status_set_elements PMPI_Status_set_elements -#define MPI_Test PMPI_Test -#define MPI_Test_cancelled PMPI_Test_cancelled -#define MPI_Testall PMPI_Testall -#define MPI_Testany PMPI_Testany -#define MPI_Testsome PMPI_Testsome -#define MPI_Topo_test PMPI_Topo_test -#define MPI_Type_commit PMPI_Type_commit -#define MPI_Type_contiguous PMPI_Type_contiguous -#define MPI_Type_create_darray PMPI_Type_create_darray -#define MPI_Type_create_f90_complex PMPI_Type_create_f90_complex -#define MPI_Type_create_f90_integer PMPI_Type_create_f90_integer -#define MPI_Type_create_f90_real PMPI_Type_create_f90_real -#define MPI_Type_create_hindexed PMPI_Type_create_hindexed -#define MPI_Type_create_hvector PMPI_Type_create_hvector -#define MPI_Type_create_indexed_block PMPI_Type_create_indexed_block -#define MPI_Type_create_keyval PMPI_Type_create_keyval -#define MPI_Type_create_resized PMPI_Type_create_resized -#define MPI_Type_create_struct PMPI_Type_create_struct -#define MPI_Type_create_subarray PMPI_Type_create_subarray -#define MPI_Type_delete_attr PMPI_Type_delete_attr -#define MPI_Type_dup PMPI_Type_dup -#define MPI_Type_free PMPI_Type_free -#define MPI_Type_free_keyval PMPI_Type_free_keyval -#define MPI_Type_get_attr PMPI_Type_get_attr -#define MPI_Type_get_contents PMPI_Type_get_contents -#define MPI_Type_get_envelope PMPI_Type_get_envelope -#define MPI_Type_get_extent PMPI_Type_get_extent -#define MPI_Type_get_extent_x PMPI_Type_get_extent_x -#define MPI_Type_get_name PMPI_Type_get_name -#define MPI_Type_get_true_extent PMPI_Type_get_true_extent -#define MPI_Type_get_true_extent_x PMPI_Type_get_true_extent_x -#define MPI_Type_indexed PMPI_Type_indexed -#define MPI_Type_match_size PMPI_Type_match_size -#define MPI_Type_set_attr PMPI_Type_set_attr -#define MPI_Type_set_name PMPI_Type_set_name -#define MPI_Type_size PMPI_Type_size -#define MPI_Type_size_x PMPI_Type_size_x -#define MPI_Type_vector PMPI_Type_vector -#define MPI_Wait PMPI_Wait -#define MPI_Waitall PMPI_Waitall -#define MPI_Waitany PMPI_Waitany -#define MPI_Waitsome PMPI_Waitsome -#define MPI_Win_call_errhandler PMPI_Win_call_errhandler -#define MPI_Win_complete PMPI_Win_complete -#define MPI_Win_create_errhandler PMPI_Win_create_errhandler -#define MPI_Win_create_keyval PMPI_Win_create_keyval -#define MPI_Win_delete_attr PMPI_Win_delete_attr -#define MPI_Win_fence PMPI_Win_fence -#define MPI_Win_free PMPI_Win_free -#define MPI_Win_free_keyval PMPI_Win_free_keyval -#define MPI_Win_get_attr PMPI_Win_get_attr -#define MPI_Win_get_errhandler PMPI_Win_get_errhandler -#define MPI_Win_get_group PMPI_Win_get_group -#define MPI_Win_get_name PMPI_Win_get_name -#define MPI_Win_lock PMPI_Win_lock -#define MPI_Win_post PMPI_Win_post -#define MPI_Win_set_attr PMPI_Win_set_attr -#define MPI_Win_set_errhandler PMPI_Win_set_errhandler -#define MPI_Win_set_name PMPI_Win_set_name -#define MPI_Win_start PMPI_Win_start -#define MPI_Win_test PMPI_Win_test -#define MPI_Win_unlock PMPI_Win_unlock -#define MPI_Win_wait PMPI_Win_wait -#define MPI_Close_port PMPI_Close_port -#define MPI_Lookup_name PMPI_Lookup_name -#define MPI_Open_port PMPI_Open_port -#define MPI_Publish_name PMPI_Publish_name -#define MPI_Unpublish_name PMPI_Unpublish_name -#define MPI_Comm_disconnect PMPI_Comm_disconnect -#define MPI_Comm_get_parent PMPI_Comm_get_parent -#define MPI_Comm_join PMPI_Comm_join -#define MPI_Comm_accept PMPI_Comm_accept -#define MPI_Comm_connect PMPI_Comm_connect -#define MPI_Comm_spawn PMPI_Comm_spawn -#define MPI_Comm_spawn_multiple PMPI_Comm_spawn_multiple -#define MPI_Mprobe PMPI_Mprobe -#define MPI_Improbe PMPI_Improbe -#define MPI_Get_library_version PMPI_Get_library_version -#define MPI_Comm_split_type PMPI_Comm_split_type -#define MPI_Type_create_hindexed_block PMPI_Type_create_hindexed_block -#define MPI_Dist_graph_create PMPI_Dist_graph_create -#define MPI_Dist_graph_create_adjacent PMPI_Dist_graph_create_adjacent -#define MPI_Dist_graph_neighbors_count PMPI_Dist_graph_neighbors_count -#define MPI_Dist_graph_neighbors PMPI_Dist_graph_neighbors -#define MPI_Win_flush PMPI_Win_flush -#define MPI_Win_flush_all PMPI_Win_flush_all -#define MPI_Win_flush_local PMPI_Win_flush_local -#define MPI_Win_flush_local_all PMPI_Win_flush_local_all - -#include "ompi/mpi/fortran/use-mpi-tkr/mpi-f90-interfaces.h" diff --git a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-removed-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-removed-interfaces.h deleted file mode 100644 index 39a51e87dc7..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-removed-interfaces.h +++ /dev/null @@ -1,26 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2020 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ - -#define MPI_Attr_delete PMPI_Attr_delete -#define MPI_Attr_get PMPI_Attr_get -#define MPI_Attr_put PMPI_Attr_put -#define MPI_Errhandler_create PMPI_Errhandler_create -#define MPI_Errhandler_get PMPI_Errhandler_get -#define MPI_Errhandler_set PMPI_Errhandler_set -#define MPI_Keyval_create PMPI_Keyval_create -#define MPI_Keyval_free PMPI_Keyval_free -#define MPI_Type_extent PMPI_Type_extent -#define MPI_Type_hindexed PMPI_Type_hindexed -#define MPI_Type_hvector PMPI_Type_hvector -#define MPI_Type_lb PMPI_Type_lb -#define MPI_Type_struct PMPI_Type_struct -#define MPI_Type_ub PMPI_Type_ub - -#include "ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h" diff --git a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-status.h b/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-status.h deleted file mode 100644 index a34472700d8..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-status.h +++ /dev/null @@ -1,36 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2020 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! Copyright (c) 2021 Cisco Systems, Inc. All rights reserved -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ - - -interface - -subroutine PMPI_Status_f082f(f08_status, f_status, ierror) - use mpi_types - include 'mpif-config.h' - type(MPI_Status), intent(in) :: f08_status - integer, intent(out) :: f_status(MPI_STATUS_SIZE) - integer, intent(out) :: ierror -end subroutine PMPI_Status_f082f - -end interface - - -interface - -subroutine PMPI_Status_f2f08(f_status, f08_status, ierror) - use mpi_types - include 'mpif-config.h' - integer, intent(in) :: f_status(MPI_STATUS_SIZE) - type(MPI_Status), intent(out) :: f08_status - integer, intent(out) :: ierror -end subroutine PMPI_Status_f2f08 - -end interface diff --git a/ompi/mpi/fortran/use-mpi-tkr/test/align_c.c b/ompi/mpi/fortran/use-mpi-tkr/test/align_c.c deleted file mode 100644 index eb46082eb05..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/test/align_c.c +++ /dev/null @@ -1,73 +0,0 @@ -#include "ompi_config.h" -#include - -BEGIN_C_DECLS - -void PRINT_INT(int* i); - -void align_c(char *a, char *w, char *x, char *y, char *z) -{ - unsigned long aw, ax, ay, az; - int diff, diff4; - - aw = (unsigned long) w; - ax = (unsigned long) x; - ay = (unsigned long) y; - az = (unsigned long) z; - - if (! ((aw%16)||(ax%16)||(ay%16)||(az%16))) { - diff4 = 16; - } - else if (! ((aw%12)||(ax%12)||(ay%12)||(az%12))) { - diff4 = 12; - } - else if (! ((aw%8)||(ax%8)||(ay%8)||(az%8))) { - diff4 = 8; - } - else if (! ((aw%4)||(ax%4)||(ay%4)||(az%4))) { - diff4 = 4; - } - else if (! ((aw%2)||(ax%2)||(ay%2)||(az%2))) { - diff4 = 2; - } - else { - diff4 = 1; - } - diff = a - w; - diff = (diff >= 0) ? diff : -diff; - *a = diff; - assert(diff4 == diff); -} - - -void align_c_(char *a, char *w, char *x, char *y, char *z) -{ - align_c(a, w, x, y, z); -} - - -void align_c__(char *a, char *w, char *x, char *y, char *z) -{ - align_c(a, w, x, y, z); -} - - -void ALIGN_C(char *a, char *w, char *x, char *y, char *z) -{ - align_c(a, w, x, y, z); -} - - -void ALIGN_C_(char *a, char *w, char *x, char *y, char *z) -{ - align_c(a, w, x, y, z); -} - - -void ALIGN_C__(char *a, char *w, char *x, char *y, char *z) -{ - align_c(a, w, x, y, z); -} - -END_C_DECLS - diff --git a/ompi/mpi/fortran/use-mpi-tkr/test/print_align.f90 b/ompi/mpi/fortran/use-mpi-tkr/test/print_align.f90 deleted file mode 100644 index 126ca6f3b6a..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/test/print_align.f90 +++ /dev/null @@ -1,108 +0,0 @@ -! -! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! -! print_align.f90 -! - prints out alignment of real types -! - -program main - - type AlignReal - integer(selected_int_kind(1)) :: a - real(selected_real_kind(6)) :: w - character b - real(selected_real_kind(6)) :: x - real(selected_real_kind(6)) :: y - character c - real(selected_real_kind(6)) :: z - end type - - type AlignDouble - integer(selected_int_kind(1)) :: a - real(selected_real_kind(15)) :: w - character b - real(selected_real_kind(15)) :: x - real(selected_real_kind(15)) :: y - - character c - real(selected_real_kind(15)) :: z - end type - - type AlignQuad - integer(selected_int_kind(1)) :: a - real(selected_real_kind(31)) :: w - character b - real(selected_real_kind(31)) :: x - real(selected_real_kind(31)) :: y - character c - real(selected_real_kind(31)) :: z - end type - - type AlignComplex - integer(selected_int_kind(1)) :: a - complex(selected_real_kind(6)) :: w - character b - complex(selected_real_kind(6)) :: x - complex(selected_real_kind(6)) :: y - character c - complex(selected_real_kind(6)) :: z - end type - - type AlignDoubleComplex - integer(selected_int_kind(1)) :: a - complex(selected_real_kind(15)) :: w - character b - complex(selected_real_kind(15)) :: x - complex(selected_real_kind(15)) :: y - character c - complex(selected_real_kind(15)) :: z - end type - - type AlignQuadComplex - integer(selected_int_kind(1)) :: a - complex(selected_real_kind(31)) :: w - character b - complex(selected_real_kind(31)) :: x - complex(selected_real_kind(31)) :: y - character c - complex(selected_real_kind(31)) :: z - end type - - external align_c - - type(AlignReal) :: ar - type(AlignDouble) :: ad - type(AlignQuad) :: aq - type(AlignComplex) :: ac - type(AlignDoubleComplex) :: adc - type(AlignQuadComplex) :: aqc - - call align_c(ar%a, ar%w, ar%x, ar%y, ar%z) - print *, "alignment of real: ", ar%a - call align_c(ad%a, ad%w, ad%x, ad%y, ad%z) - print *, "alignment of double: ", ad%a - call align_c(aq%a, aq%w, aq%x, aq%y, aq%z) - print *, "alignment of quad: ", aq%a - call align_c(ac%a, ac%w, ac%x, ac%y, ac%z) - print *, "alignment of complex: ", ac%a - call align_c(adc%a, adc%w, adc%x, adc%y, adc%z) - print *, "alignment of double complex: ", adc%a - call align_c(aqc%a, aqc%w, aqc%x, aqc%y, aqc%z) - print *, "alignment of quad complex: ", aqc%a - -end program main diff --git a/ompi/mpi/fortran/use-mpi-tkr/test/print_ikinds.f90 b/ompi/mpi/fortran/use-mpi-tkr/test/print_ikinds.f90 deleted file mode 100644 index d2b5e6aea9b..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/test/print_ikinds.f90 +++ /dev/null @@ -1,37 +0,0 @@ -! -! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! -! print_ikinds.f90 -! - prints out values of selected_int_kind to determine Fortran compiler -! dependent values -! -program main - integer :: i - ! - ! integer(kind(1_LONG)) :: l = 1_LONG - ! - - do i = 1, 24 - print*, "i = ", i, "selected_int_kind(i) = ", selected_int_kind(i) - end do - - print*, "kind(1) = ", kind(1) - ! - ! print*, "kind(1_LONG) = ", kind(l) - ! -end program main diff --git a/ompi/mpi/fortran/use-mpi-tkr/test/print_prec_range.f90 b/ompi/mpi/fortran/use-mpi-tkr/test/print_prec_range.f90 deleted file mode 100644 index 1abc5526875..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/test/print_prec_range.f90 +++ /dev/null @@ -1,48 +0,0 @@ -! -! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! -! print_prec_range.f90 -! - prints out values of precision and range for real types -! -program main - real :: xr - real(kind(1.0D0)) :: xd - real(selected_real_kind(5)) :: x5 - real(selected_real_kind(6)) :: x6 - real(selected_real_kind(7)) :: x7 - real(selected_real_kind(14)) :: x14 - real(selected_real_kind(15)) :: x15 - real(selected_real_kind(16)) :: x16 - real(selected_real_kind(30)) :: x30 - real(selected_real_kind(31)) :: x31 - real(selected_real_kind(32)) :: x32 - - print *, "precision(p=5) = ", precision(x5), " range(p=5) = ", range(x5) - print *, "precision(p=6) = ", precision(x6), " range(p=6) = ", range(x6) - print *, "precision(p=7) = ", precision(x7), " range(p=7) = ", range(x7) - print *, "precision(p=14) = ", precision(x14), " range(p=14) = ", range(x14) - print *, "precision(p=15) = ", precision(x15), " range(p=15) = ", range(x15) - print *, "precision(p=16) = ", precision(x16), " range(p=16) = ", range(x16) - print *, "precision(p=30) = ", precision(x30), " range(p=30) = ", range(x30) - print *, "precision(p=31) = ", precision(x31), " range(p=31) = ", range(x31) - print *, "precision(p=32) = ", precision(x32), " range(p=32) = ", range(x32) - print * - print *, "precision(r) = ", precision(xr), " range(r) = ", range(r) - print *, "precision(d) = ", precision(xd), " range(d) = ", range(d) - -end program main diff --git a/ompi/mpi/fortran/use-mpi-tkr/test/print_rkinds.f90 b/ompi/mpi/fortran/use-mpi-tkr/test/print_rkinds.f90 deleted file mode 100644 index 3eaa5466910..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/test/print_rkinds.f90 +++ /dev/null @@ -1,41 +0,0 @@ -! -! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! -! print_rkinds.f90 -! - prints out values of selected_real_kind to determine Fortran compiler -! dependent values -! -program main - integer :: i - ! - ! real :: x = 2.2_QUAD - ! - complex(kind(1.D0)) :: z - - do i = 1, 32 - print*, "i = ", i, "selected_real_kind(i) = ", selected_real_kind(i) - end do - - print*, "kind(1.E0) = ", kind(1.E0) - print*, "kind(1.D0) = ", kind(1.D0) - ! - ! print*, "kind( real :: x = 2.2_QUAD ) = ", kind(x) - ! - print*, "kind( complex(kind(1.D0) :: z ) = ", kind(z) - -end program main diff --git a/ompi/mpi/fortran/use-mpi-tkr/test/send_t.c b/ompi/mpi/fortran/use-mpi-tkr/test/send_t.c deleted file mode 100644 index e39a02f25eb..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/test/send_t.c +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, - * University of Stuttgart. All rights reserved. - * Copyright (c) 2004-2005 The Regents of the University of California. - * All rights reserved. - * Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - * - * send_t.c - tests mpi_send variants - * - * Actual tests do not use MPI, they just test parameters and types. - */ - -#include - -#define MPI_COMM_WORLD 0 -#define MPI_COMM_SELF 1 - -#define MPI_INTEGER 7 -#define MPI_INTEGER1 8 - - -void mpi_send_1di(int* a, int* count, int* datatype, - int* dest, int* tag, int* comm, int* ierr) -{ - int i; - - *ierr = 0; - for (i = 0; i < *count; i++) { - if (a[i] != 10 - i) { - printf("a[%d] = %d\n", i, a[i]); - *ierr = 1; - } - } - if (*count != 10) *ierr = 1; - if (*datatype != MPI_INTEGER) *ierr = 1; - if (*dest != 59) *ierr = 1; - if (*tag != 999) *ierr = 1; - if (*comm != MPI_COMM_WORLD) *ierr = 1; -} - - -void mpi_send_1di1(char* a, int* count, int* datatype, - int* dest, int* tag, int* comm, int* ierr) -{ - int i; - - *ierr = 0; - for (i = 0; i < *count; i++) { - if (a[i] != i+1) { - printf("a[%d] = %d\n", i, a[i]); - *ierr = 1; - } - } - if (*count != 10) *ierr = 1; - if (*datatype != MPI_INTEGER1) *ierr = 1; - if (*dest != 59) *ierr = 1; - if (*tag != 999) *ierr = 1; - if (*comm != MPI_COMM_SELF) *ierr = 1; -} - diff --git a/ompi/mpi/fortran/use-mpi-tkr/test/test_send.f90 b/ompi/mpi/fortran/use-mpi-tkr/test/test_send.f90 deleted file mode 100644 index 33c24ec845a..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/test/test_send.f90 +++ /dev/null @@ -1,54 +0,0 @@ -! -! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -! University Research and Technology -! Corporation. All rights reserved. -! Copyright (c) 2004-2005 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -! University of Stuttgart. All rights reserved. -! Copyright (c) 2004-2005 The Regents of the University of California. -! All rights reserved. -! Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! -! test_send.f90 - tests mpi_send variants (calls functions in send_t.c) -! -! Actual tests do not use MPI, they just test parameters and types. -! - -program main - use mpi - - implicit none - - integer(kind=MPI_INTEGER1_KIND) :: ai1(10) = (/1,2,3,4,5,6,7,8,9,10/) - integer, target :: ai(10) = (/10,9,8,7,6,5,4,3,2,1/) - integer, pointer :: pai(:) - integer :: count, dest, tag, ierr - - count = 10 - dest = 59 - tag = 999 - - call mpi_send(ai, count, MPI_INTEGER, dest, tag, MPI_COMM_WORLD, ierr) - if (ierr /= MPI_SUCCESS) then - print *, "FAILURE test_send: ierr = ", ierr - end if - - pai => ai - call mpi_send(pai, count, MPI_INTEGER, dest, tag, MPI_COMM_WORLD, ierr) - if (ierr /= MPI_SUCCESS) then - print *, "FAILURE test_send: ierr = ", ierr - end if - - call mpi_send(ai1, count, MPI_INTEGER1, dest, tag, MPI_COMM_SELF, ierr) - if (ierr /= MPI_SUCCESS) then - print *, "FAILURE test_send: ierr = ", ierr - end if - -end program