From a4c1511f2b07fdea3d6e95c8b625c93d48d84dbb Mon Sep 17 00:00:00 2001 From: Jake Tronge Date: Thu, 28 Sep 2023 16:51:36 -0600 Subject: [PATCH 01/14] Add initial ABI generation code and new libraries Two external MPI libraries are now created: libmpi.la and libmpi_abi.la. Backend code that was originally in libmpi.la has been extracted into libopen-mpi.la to be linked into both libraries. Parts of the Open MPI C interface are now being generated by a python script (abi.py) from modified source files (named with *.in). This script generates files for both the ompi ABI and the standard ABI from the same source file, also including new bigcount interfaces. To compile standard ABI code, there's a new mpicc_abi compiler wrapper. The standard ABI does not yet include all functions or symbols, so more complicated source files will not compile. ROMIO must be disabled for the code to link, since it's relying on the external MPI interface. Signed-off-by: Jake Tronge --- .gitignore | 5 + config/ompi_config_files.m4 | 1 + config/ompi_configure_options.m4 | 15 + ompi/Makefile.am | 58 +- ompi/attribute/Makefile.am | 2 +- ompi/class/Makefile.am | 3 +- ompi/communicator/Makefile.am | 4 +- ompi/dpm/Makefile.am | 2 +- ompi/errhandler/Makefile.am | 2 +- ompi/file/Makefile.am | 2 +- ompi/group/Makefile.am | 2 +- ompi/include/mpi.h.in | 9 +- ompi/instance/Makefile.am | 2 +- ompi/interlib/Makefile.am | 2 +- ompi/mca/bml/r2/Makefile.am | 2 +- ompi/mca/coll/basic/Makefile.am | 2 +- ompi/mca/coll/demo/Makefile.am | 2 +- ompi/mca/coll/hcoll/Makefile.am | 2 +- ompi/mca/coll/inter/Makefile.am | 2 +- ompi/mca/coll/libnbc/Makefile.am | 2 +- ompi/mca/coll/monitoring/Makefile.am | 2 +- ompi/mca/coll/portals4/Makefile.am | 2 +- ompi/mca/coll/self/Makefile.am | 2 +- ompi/mca/coll/sync/Makefile.am | 2 +- ompi/mca/coll/tuned/Makefile.am | 2 +- ompi/mca/coll/ucc/Makefile.am | 2 +- ompi/mca/common/monitoring/Makefile.am | 2 +- ompi/mca/fbtl/ime/Makefile.am | 2 +- ompi/mca/fbtl/posix/Makefile.am | 2 +- ompi/mca/fs/ime/Makefile.am | 2 +- ompi/mca/fs/lustre/Makefile.am | 2 +- ompi/mca/fs/ufs/Makefile.am | 2 +- .../hook/comm_method/hook_comm_method_fns.c | 2 + ompi/mca/mtl/ofi/Makefile.am | 2 +- ompi/mca/mtl/portals4/Makefile.am | 2 +- ompi/mca/mtl/psm2/Makefile.am | 2 +- ompi/mca/op/avx/Makefile.am | 2 +- ompi/mca/op/example/Makefile.am | 2 +- ompi/mca/osc/monitoring/Makefile.am | 2 +- ompi/mca/osc/portals4/Makefile.am | 2 +- ompi/mca/osc/rdma/Makefile.am | 2 +- ompi/mca/osc/sm/Makefile.am | 2 +- ompi/mca/osc/ucx/Makefile.am | 2 +- ompi/mca/part/persist/Makefile.am | 2 +- ompi/mca/pml/cm/Makefile.am | 2 +- ompi/mca/pml/example/Makefile.am | 2 +- ompi/mca/pml/monitoring/Makefile.am | 2 +- ompi/mca/pml/ob1/Makefile.am | 2 +- ompi/mca/pml/ucx/Makefile.am | 2 +- ompi/mca/pml/v/Makefile.am | 2 +- ompi/mca/topo/basic/Makefile.am | 2 +- ompi/mca/topo/example/Makefile.am | 2 +- ompi/mca/topo/treematch/Makefile.am | 2 +- ompi/mca/vprotocol/example/Makefile.am | 2 +- ompi/mca/vprotocol/pessimist/Makefile.am | 2 +- ompi/message/Makefile.am | 2 +- ompi/mpi/c/Makefile.am | 52 +- ompi/mpi/c/abi.py | 1278 +++++++++++++++++ ompi/mpi/c/abi_details.c | 36 + ompi/mpi/c/abi_supported.c | 28 + ompi/mpi/c/abi_version.c | 30 + ompi/mpi/c/status_c2f.c.in | 33 +- ompi/mpi/c/status_f2c.c.in | 17 +- ompi/mpi/c/wtime.c.in | 2 +- ompi/mpiext/Makefile.am | 2 +- ompi/op/Makefile.am | 2 +- ompi/peruse/Makefile.am | 2 +- ompi/proc/Makefile.am | 2 +- ompi/request/Makefile.am | 6 +- ompi/request/grequest.c | 5 +- ompi/runtime/Makefile.am | 2 +- ompi/tools/wrappers/Makefile.am | 3 +- .../wrappers/mpicc_abi-wrapper-data.txt.in | 26 + ompi/util/Makefile.am | 3 +- ompi/util/status.h | 56 + ompi/win/Makefile.am | 2 +- 76 files changed, 1648 insertions(+), 132 deletions(-) create mode 100755 ompi/mpi/c/abi.py create mode 100644 ompi/mpi/c/abi_details.c create mode 100644 ompi/mpi/c/abi_supported.c create mode 100644 ompi/mpi/c/abi_version.c create mode 100644 ompi/tools/wrappers/mpicc_abi-wrapper-data.txt.in create mode 100644 ompi/util/status.h diff --git a/.gitignore b/.gitignore index dfa2e7c86d0..fc1a3349a33 100644 --- a/.gitignore +++ b/.gitignore @@ -271,6 +271,7 @@ ompi/tools/ompi_info/ompi_info ompi/tools/wrappers/mpic++-wrapper-data.txt ompi/tools/wrappers/mpicc-wrapper-data.txt +ompi/tools/wrappers/mpicc_abi-wrapper-data.txt ompi/tools/wrappers/mpifort-wrapper-data.txt ompi/tools/wrappers/ompi_wrapper_script ompi/tools/wrappers/ompi.pc @@ -534,6 +535,10 @@ docs/man # Generated C Bindings ompi/mpi/c/*_generated*.c +ompi/mpi/c/ompi_*.c +ompi/mpi/c/standard_*.c +ompi/mpi/c/abi.h +ompi/mpi/c/standard_abi # Generated Fortran Bindings ompi/mpi/fortran/use-mpi-f08/*_generated.F90 diff --git a/config/ompi_config_files.m4 b/config/ompi_config_files.m4 index 21d1e3eb791..f378cc3ce00 100644 --- a/config/ompi_config_files.m4 +++ b/config/ompi_config_files.m4 @@ -48,6 +48,7 @@ AC_DEFUN([OMPI_CONFIG_FILES],[ ompi/tools/ompi_info/Makefile ompi/tools/wrappers/Makefile ompi/tools/wrappers/mpicc-wrapper-data.txt + ompi/tools/wrappers/mpicc_abi-wrapper-data.txt ompi/tools/wrappers/mpic++-wrapper-data.txt ompi/tools/wrappers/mpifort-wrapper-data.txt ompi/tools/wrappers/ompi.pc diff --git a/config/ompi_configure_options.m4 b/config/ompi_configure_options.m4 index c00ead8792c..83606e2c555 100644 --- a/config/ompi_configure_options.m4 +++ b/config/ompi_configure_options.m4 @@ -257,4 +257,19 @@ AC_ARG_ENABLE([deprecate-mpif-h], [AS_HELP_STRING([--enable-deprecate-mpif-h], [Mark the mpif.h bindings as deprecated (default: enabled)])]) +AC_MSG_CHECKING([if want to enable standard ABI library]) +AC_ARG_ENABLE([standard-abi], + [AS_HELP_STRING([--enable-standard-abi], + [Enable building the standard ABI library (default: disabled)])]) +if test "$enable_standard_abi" = "yes"; then + AC_MSG_RESULT([yes]) + ompi_standard_abi=1 +else + AC_MSG_RESULT([no]) + ompi_standard_abi=0 +fi +AC_DEFINE_UNQUOTED([OMPI_STANDARD_ABI],[$ompi_standard_abi], + [Whether we want to build the standard ABI library]) +AM_CONDITIONAL(OMPI_STANDARD_ABI,[test "$enable_standard_abi" = "yes"]) + ])dnl diff --git a/ompi/Makefile.am b/ompi/Makefile.am index f855492ef15..a839ab1bff4 100644 --- a/ompi/Makefile.am +++ b/ompi/Makefile.am @@ -126,36 +126,72 @@ DIST_SUBDIRS = \ $(MCA_ompi_FRAMEWORKS_SUBDIRS) \ $(MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS) -# Build the main MPI library - +noinst_LTLIBRARIES = libopen-mpi.la lib_LTLIBRARIES = lib@OMPI_LIBMPI_NAME@.la -lib@OMPI_LIBMPI_NAME@_la_SOURCES = -lib@OMPI_LIBMPI_NAME@_la_LIBADD = \ +if OMPI_STANDARD_ABI +lib_LTLIBRARIES += libmpi_abi.la +endif + +# +# ABI Refactor +# +# As required by the standard ABI, ompi must now provide libmpi_abi.la for +# ABI-specific code. Since we also want to avoid breaking the existing ompi +# ABI, the libraries in this directory are now organized as follows: +# +# +----------------------+----------------------+ +# | libmpi_abi.la | libmpi.la | +# +----------------------+----------------------+ +# | libopen-mpi.la | +# +----------------------+----------------------+ +# +# This includes a new library, libopen-mpi.la, that links in all backend code +# built in this directory or SUBDIRs of this directory. Previously everything +# was just linked directly into libmpi.la (lib@OMPI_LIBMPI_NAME@.la). +# +# libmpi_abi.la and libmpi.la both now link in libopen-mpi.la, the only +# difference between them being that one includes the standard ABI functions +# and the other the ompi-specific versions of those. +# + +# Build the Open MPI internal library +libopen_mpi_la_SOURCES = +libopen_mpi_la_LIBADD = \ datatype/libdatatype.la \ debuggers/libdebuggers.la \ + $(OMPI_TOP_BUILDDIR)/opal/lib@OPAL_LIB_NAME@.la \ + $(MCA_ompi_FRAMEWORK_LIBS) \ + $(OMPI_LIBMPI_EXTRA_LIBS) +libopen_mpi_la_DEPENDENCIES = $(libopen_mpi_la_LIBADD) + +# Build the main MPI library +lib@OMPI_LIBMPI_NAME@_la_SOURCES = +lib@OMPI_LIBMPI_NAME@_la_LIBADD = \ + libopen-mpi.la \ mpi/c/libmpi_c.la \ mpi/tool/libmpi_mpit.la \ $(c_mpi_lib) \ $(c_pmpi_lib) \ - $(mpi_fortran_base_lib) \ - $(MCA_ompi_FRAMEWORK_LIBS) \ $(OMPI_MPIEXT_C_LIBS) \ - $(OMPI_LIBMPI_EXTRA_LIBS) + $(mpi_fortran_base_lib) - -lib@OMPI_LIBMPI_NAME@_la_LIBADD += \ - $(OMPI_TOP_BUILDDIR)/opal/lib@OPAL_LIB_NAME@.la -lib@OMPI_LIBMPI_NAME@_la_DEPENDENCIES = $(lib@OMPI_LIBMPI_NAME@_la_LIBADD) lib@OMPI_LIBMPI_NAME@_la_LDFLAGS = \ -version-info $(libmpi_so_version) \ $(OMPI_LIBMPI_EXTRA_LDFLAGS) +# The MPI Standard ABI library +libmpi_abi_la_SOURCES = +libmpi_abi_la_LIBADD = \ + libopen-mpi.la \ + mpi/c/libmpi_c_abi.la + # included subdirectory Makefile.am's and appended-to variables headers = noinst_LTLIBRARIES = include_HEADERS = EXTRA_DIST = lib@OMPI_LIBMPI_NAME@_la_SOURCES += $(headers) +dist_ompidata_DATA = # Conditionally install the header files diff --git a/ompi/attribute/Makefile.am b/ompi/attribute/Makefile.am index cb1193deb2f..0418c1c0cc7 100644 --- a/ompi/attribute/Makefile.am +++ b/ompi/attribute/Makefile.am @@ -22,6 +22,6 @@ headers += \ attribute/attribute.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ attribute/attribute.c \ attribute/attribute_predefined.c diff --git a/ompi/class/Makefile.am b/ompi/class/Makefile.am index 7784da8ad69..ea755a11f3d 100644 --- a/ompi/class/Makefile.am +++ b/ompi/class/Makefile.am @@ -23,6 +23,5 @@ headers += \ class/ompi_seq_tracker.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ class/ompi_seq_tracker.c - diff --git a/ompi/communicator/Makefile.am b/ompi/communicator/Makefile.am index e1d25ad1026..8700ae88f48 100644 --- a/ompi/communicator/Makefile.am +++ b/ompi/communicator/Makefile.am @@ -29,14 +29,14 @@ headers += \ communicator/communicator.h \ communicator/comm_request.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ communicator/comm_init.c \ communicator/comm.c \ communicator/comm_cid.c \ communicator/comm_request.c if WANT_FT_MPI -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ communicator/ft/comm_ft.c communicator/ft/comm_ft_reliable_bcast.c communicator/ft/comm_ft_propagator.c communicator/ft/comm_ft_detector.c communicator/ft/comm_ft_revoke.c endif # WANT_FT_MPI diff --git a/ompi/dpm/Makefile.am b/ompi/dpm/Makefile.am index 02562525b9f..6e32c781ca5 100644 --- a/ompi/dpm/Makefile.am +++ b/ompi/dpm/Makefile.am @@ -17,5 +17,5 @@ EXTRA_DIST += dpm/help-dpm.txt headers += \ dpm/dpm.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ dpm/dpm.c diff --git a/ompi/errhandler/Makefile.am b/ompi/errhandler/Makefile.am index 9f94623a9ff..f8a84c249a1 100644 --- a/ompi/errhandler/Makefile.am +++ b/ompi/errhandler/Makefile.am @@ -30,7 +30,7 @@ headers += \ errhandler/errhandler.h \ errhandler/errhandler_predefined.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ errhandler/errhandler.c \ errhandler/errhandler_invoke.c \ errhandler/errhandler_predefined.c \ diff --git a/ompi/file/Makefile.am b/ompi/file/Makefile.am index e7d846ddde8..b78a18962e7 100644 --- a/ompi/file/Makefile.am +++ b/ompi/file/Makefile.am @@ -22,5 +22,5 @@ headers += \ file/file.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ file/file.c diff --git a/ompi/group/Makefile.am b/ompi/group/Makefile.am index f92a900da8d..850173c4d9f 100644 --- a/ompi/group/Makefile.am +++ b/ompi/group/Makefile.am @@ -25,7 +25,7 @@ headers += \ group/group.h \ group/group_dbg.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ group/group.c \ group/group_init.c \ group/group_set_rank.c \ diff --git a/ompi/include/mpi.h.in b/ompi/include/mpi.h.in index e838fe66061..dcf20db7262 100644 --- a/ompi/include/mpi.h.in +++ b/ompi/include/mpi.h.in @@ -1433,6 +1433,9 @@ OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub; /* * MPI API */ +OMPI_DECLSPEC int MPI_Abi_supported(int *flag); +OMPI_DECLSPEC int MPI_Abi_version(int *abi_major, int *abi_minor); +OMPI_DECLSPEC int MPI_Abi_details(int *buflen, char *details, MPI_Info *info); OMPI_DECLSPEC int MPI_Abort(MPI_Comm comm, int errorcode); OMPI_DECLSPEC int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, @@ -2169,8 +2172,6 @@ OMPI_DECLSPEC int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int sou int tag, MPI_Comm comm, MPI_Status *status); OMPI_DECLSPEC int MPI_Recv_c(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status); -OMPI_DECLSPEC int MPI_Recv_c(void *buf, MPI_Count count, MPI_Datatype datatype, int source, - int tag, MPI_Comm comm, MPI_Status *status); OMPI_DECLSPEC int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm); OMPI_DECLSPEC int MPI_Reduce_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, @@ -3328,8 +3329,6 @@ OMPI_DECLSPEC int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int so int tag, MPI_Comm comm, MPI_Status *status); OMPI_DECLSPEC int PMPI_Recv_c(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status); -OMPI_DECLSPEC int PMPI_Recv_c(void *buf, MPI_Count count, MPI_Datatype datatype, int source, - int tag, MPI_Comm comm, MPI_Status *status); OMPI_DECLSPEC int PMPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm); OMPI_DECLSPEC int PMPI_Reduce_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, @@ -4092,6 +4091,8 @@ OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub) #define MPI_Type_ub(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Type_ub, MPI_Type_get_extent) #endif +#endif /* OMPI_NO_MPI_PROTOTYPES */ + #if defined(c_plusplus) || defined(__cplusplus) } #endif diff --git a/ompi/instance/Makefile.am b/ompi/instance/Makefile.am index 2ee7f5d59a3..73bb25273be 100644 --- a/ompi/instance/Makefile.am +++ b/ompi/instance/Makefile.am @@ -23,4 +23,4 @@ headers += instance/instance.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += instance/instance.c +libopen_mpi_la_SOURCES += instance/instance.c diff --git a/ompi/interlib/Makefile.am b/ompi/interlib/Makefile.am index 1a40fe8b260..d80d1d3d937 100644 --- a/ompi/interlib/Makefile.am +++ b/ompi/interlib/Makefile.am @@ -25,5 +25,5 @@ headers += \ interlib/interlib.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ interlib/interlib.c diff --git a/ompi/mca/bml/r2/Makefile.am b/ompi/mca/bml/r2/Makefile.am index 0fdb3e636f3..ea4e7eccc0e 100644 --- a/ompi/mca/bml/r2/Makefile.am +++ b/ompi/mca/bml/r2/Makefile.am @@ -37,7 +37,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_bml_r2_la_SOURCES = $(r2_sources) mca_bml_r2_la_LDFLAGS = -module -avoid-version -mca_bml_r2_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_bml_r2_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_bml_r2_la_SOURCES = $(r2_sources) diff --git a/ompi/mca/coll/basic/Makefile.am b/ompi/mca/coll/basic/Makefile.am index 8e1562c12f9..ad89fe227fb 100644 --- a/ompi/mca/coll/basic/Makefile.am +++ b/ompi/mca/coll/basic/Makefile.am @@ -63,7 +63,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_basic_la_SOURCES = $(sources) mca_coll_basic_la_LDFLAGS = -module -avoid-version -mca_coll_basic_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_coll_basic_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_coll_basic_la_SOURCES =$(sources) diff --git a/ompi/mca/coll/demo/Makefile.am b/ompi/mca/coll/demo/Makefile.am index 1246c5d4389..2ae6731cefa 100644 --- a/ompi/mca/coll/demo/Makefile.am +++ b/ompi/mca/coll/demo/Makefile.am @@ -57,7 +57,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_demo_la_SOURCES = $(sources) mca_coll_demo_la_LDFLAGS = -module -avoid-version -mca_coll_demo_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_coll_demo_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_coll_demo_la_SOURCES = $(sources) diff --git a/ompi/mca/coll/hcoll/Makefile.am b/ompi/mca/coll/hcoll/Makefile.am index 37ec1c96c92..254a97c9a0b 100644 --- a/ompi/mca/coll/hcoll/Makefile.am +++ b/ompi/mca/coll/hcoll/Makefile.am @@ -39,7 +39,7 @@ endif mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_hcoll_la_SOURCES = $(coll_hcoll_sources) -mca_coll_hcoll_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_coll_hcoll_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(coll_hcoll_LIBS) mca_coll_hcoll_la_LDFLAGS = -module -avoid-version $(coll_hcoll_LDFLAGS) diff --git a/ompi/mca/coll/inter/Makefile.am b/ompi/mca/coll/inter/Makefile.am index ea9188cffd4..c82b9f513b9 100644 --- a/ompi/mca/coll/inter/Makefile.am +++ b/ompi/mca/coll/inter/Makefile.am @@ -34,7 +34,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_inter_la_SOURCES = $(sources) mca_coll_inter_la_LDFLAGS = -module -avoid-version -mca_coll_inter_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_coll_inter_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_coll_inter_la_SOURCES = $(sources) diff --git a/ompi/mca/coll/libnbc/Makefile.am b/ompi/mca/coll/libnbc/Makefile.am index 4afa48cdd2c..09b30b4e172 100644 --- a/ompi/mca/coll/libnbc/Makefile.am +++ b/ompi/mca/coll/libnbc/Makefile.am @@ -72,7 +72,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_libnbc_la_SOURCES = $(sources) mca_coll_libnbc_la_LDFLAGS = -module -avoid-version -mca_coll_libnbc_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_coll_libnbc_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_coll_libnbc_la_SOURCES =$(sources) diff --git a/ompi/mca/coll/monitoring/Makefile.am b/ompi/mca/coll/monitoring/Makefile.am index 9c6e96b1c52..cb1eed8b135 100644 --- a/ompi/mca/coll/monitoring/Makefile.am +++ b/ompi/mca/coll/monitoring/Makefile.am @@ -46,7 +46,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_monitoring_la_SOURCES = $(monitoring_sources) mca_coll_monitoring_la_LDFLAGS = -module -avoid-version -mca_coll_monitoring_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_coll_monitoring_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(OMPI_TOP_BUILDDIR)/ompi/mca/common/monitoring/libmca_common_monitoring.la noinst_LTLIBRARIES = $(component_noinst) diff --git a/ompi/mca/coll/portals4/Makefile.am b/ompi/mca/coll/portals4/Makefile.am index 8f9babbd13b..7070e01f2e6 100644 --- a/ompi/mca/coll/portals4/Makefile.am +++ b/ompi/mca/coll/portals4/Makefile.am @@ -33,7 +33,7 @@ AM_CPPFLAGS = $(coll_portals4_CPPFLAGS) mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_portals4_la_SOURCES = $(local_sources) -mca_coll_portals4_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_coll_portals4_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(coll_portals4_LIBS) mca_coll_portals4_la_LDFLAGS = -module -avoid-version $(coll_portals4_LDFLAGS) diff --git a/ompi/mca/coll/self/Makefile.am b/ompi/mca/coll/self/Makefile.am index 6b06aab4028..c4e5e13dc86 100644 --- a/ompi/mca/coll/self/Makefile.am +++ b/ompi/mca/coll/self/Makefile.am @@ -55,7 +55,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_self_la_SOURCES = $(sources) mca_coll_self_la_LDFLAGS = -module -avoid-version -mca_coll_self_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_coll_self_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_coll_self_la_SOURCES =$(sources) diff --git a/ompi/mca/coll/sync/Makefile.am b/ompi/mca/coll/sync/Makefile.am index dad4f8f7138..d1fcfff91b5 100644 --- a/ompi/mca/coll/sync/Makefile.am +++ b/ompi/mca/coll/sync/Makefile.am @@ -46,7 +46,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_sync_la_SOURCES = $(sources) mca_coll_sync_la_LDFLAGS = -module -avoid-version -mca_coll_sync_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_coll_sync_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_coll_sync_la_SOURCES =$(sources) diff --git a/ompi/mca/coll/tuned/Makefile.am b/ompi/mca/coll/tuned/Makefile.am index 82be7bb72aa..73f1f22a171 100644 --- a/ompi/mca/coll/tuned/Makefile.am +++ b/ompi/mca/coll/tuned/Makefile.am @@ -61,7 +61,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_tuned_la_SOURCES = $(sources) mca_coll_tuned_la_LDFLAGS = -module -avoid-version -mca_coll_tuned_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_coll_tuned_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_coll_tuned_la_SOURCES =$(sources) diff --git a/ompi/mca/coll/ucc/Makefile.am b/ompi/mca/coll/ucc/Makefile.am index 8d2f4c7c3eb..95ec95401ac 100644 --- a/ompi/mca/coll/ucc/Makefile.am +++ b/ompi/mca/coll/ucc/Makefile.am @@ -50,7 +50,7 @@ endif mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_coll_ucc_la_SOURCES = $(coll_ucc_sources) -mca_coll_ucc_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_coll_ucc_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(coll_ucc_LIBS) mca_coll_ucc_la_LDFLAGS = -module -avoid-version $(coll_ucc_LDFLAGS) diff --git a/ompi/mca/common/monitoring/Makefile.am b/ompi/mca/common/monitoring/Makefile.am index 28f4d442d27..d0dfa439f7d 100644 --- a/ompi/mca/common/monitoring/Makefile.am +++ b/ompi/mca/common/monitoring/Makefile.am @@ -34,7 +34,7 @@ endif ompi_monitoring_prof_la_LDFLAGS= \ -module -avoid-version -shared $(WRAPPER_EXTRA_LDFLAGS) ompi_monitoring_prof_la_LIBADD = \ - $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ + $(top_builddir)/ompi/libopen-mpi.la \ $(top_builddir)/opal/lib@OPAL_LIB_NAME@.la if OPAL_INSTALL_BINARIES diff --git a/ompi/mca/fbtl/ime/Makefile.am b/ompi/mca/fbtl/ime/Makefile.am index 2dfebbcb0c0..41908982b5e 100644 --- a/ompi/mca/fbtl/ime/Makefile.am +++ b/ompi/mca/fbtl/ime/Makefile.am @@ -30,7 +30,7 @@ AM_CPPFLAGS = $(fbtl_ime_CPPFLAGS) mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_fbtl_ime_la_SOURCES = $(fbtl_ime_sources) -mca_fbtl_ime_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_fbtl_ime_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(fbtl_ime_LIBS) mca_fbtl_ime_la_LDFLAGS = -module -avoid-version $(fbtl_ime_LDFLAGS) diff --git a/ompi/mca/fbtl/posix/Makefile.am b/ompi/mca/fbtl/posix/Makefile.am index 1ce19cb09b7..37a98c30e48 100644 --- a/ompi/mca/fbtl/posix/Makefile.am +++ b/ompi/mca/fbtl/posix/Makefile.am @@ -34,7 +34,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_fbtl_posix_la_SOURCES = $(sources) mca_fbtl_posix_la_LDFLAGS = -module -avoid-version -mca_fbtl_posix_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_fbtl_posix_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(OMPI_TOP_BUILDDIR)/ompi/mca/common/ompio/libmca_common_ompio.la noinst_LTLIBRARIES = $(component_noinst) diff --git a/ompi/mca/fs/ime/Makefile.am b/ompi/mca/fs/ime/Makefile.am index db15704e732..9afbc08115a 100644 --- a/ompi/mca/fs/ime/Makefile.am +++ b/ompi/mca/fs/ime/Makefile.am @@ -37,7 +37,7 @@ AM_CPPFLAGS = $(fs_ime_CPPFLAGS) mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_fs_ime_la_SOURCES = $(fs_ime_sources) -mca_fs_ime_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_fs_ime_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(fs_ime_LIBS) mca_fs_ime_la_LDFLAGS = -module -avoid-version $(fs_ime_LDFLAGS) diff --git a/ompi/mca/fs/lustre/Makefile.am b/ompi/mca/fs/lustre/Makefile.am index bf4f487de7a..9f862506c7d 100644 --- a/ompi/mca/fs/lustre/Makefile.am +++ b/ompi/mca/fs/lustre/Makefile.am @@ -43,7 +43,7 @@ AM_CPPFLAGS = $(fs_lustre_CPPFLAGS) mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_fs_lustre_la_SOURCES = $(fs_lustre_sources) -mca_fs_lustre_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_fs_lustre_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(fs_lustre_LIBS) mca_fs_lustre_la_LDFLAGS = -module -avoid-version $(fs_lustre_LDFLAGS) diff --git a/ompi/mca/fs/ufs/Makefile.am b/ompi/mca/fs/ufs/Makefile.am index 50201a80ca2..aa2e4b728fd 100644 --- a/ompi/mca/fs/ufs/Makefile.am +++ b/ompi/mca/fs/ufs/Makefile.am @@ -34,7 +34,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_fs_ufs_la_SOURCES = $(sources) mca_fs_ufs_la_LDFLAGS = -module -avoid-version -mca_fs_ufs_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_fs_ufs_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_fs_ufs_la_SOURCES = $(sources) diff --git a/ompi/mca/hook/comm_method/hook_comm_method_fns.c b/ompi/mca/hook/comm_method/hook_comm_method_fns.c index b1ab8c200b3..303538ac15f 100644 --- a/ompi/mca/hook/comm_method/hook_comm_method_fns.c +++ b/ompi/mca/hook/comm_method/hook_comm_method_fns.c @@ -511,6 +511,7 @@ ompi_report_comm_methods(int called_from_location) free(p); } +#if 0 MPI_Datatype mydt; MPI_Op myop; MPI_Type_contiguous(sizeof(comm_method_string_conversion_t), MPI_BYTE, &mydt); @@ -521,6 +522,7 @@ ompi_report_comm_methods(int called_from_location) leader_comm->c_coll->coll_allreduce_module); MPI_Op_free(&myop); MPI_Type_free(&mydt); +#endif // Sort communication method string arrays after reduction qsort(&comm_method_string_conversion.str[1], diff --git a/ompi/mca/mtl/ofi/Makefile.am b/ompi/mca/mtl/ofi/Makefile.am index 5842abd3018..fa46bba2d56 100644 --- a/ompi/mca/mtl/ofi/Makefile.am +++ b/ompi/mca/mtl/ofi/Makefile.am @@ -80,7 +80,7 @@ mca_mtl_ofi_la_SOURCES = $(mtl_ofi_sources) mca_mtl_ofi_la_LDFLAGS = \ $(mtl_ofi_LDFLAGS) \ -module -avoid-version -mca_mtl_ofi_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_mtl_ofi_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(OPAL_TOP_BUILDDIR)/opal/mca/common/ofi/lib@OPAL_LIB_NAME@mca_common_ofi.la \ $(mtl_ofi_LIBS) diff --git a/ompi/mca/mtl/portals4/Makefile.am b/ompi/mca/mtl/portals4/Makefile.am index df3f13a5586..437b9343d24 100644 --- a/ompi/mca/mtl/portals4/Makefile.am +++ b/ompi/mca/mtl/portals4/Makefile.am @@ -60,7 +60,7 @@ endif mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_mtl_portals4_la_SOURCES = $(local_sources) -mca_mtl_portals4_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_mtl_portals4_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(mtl_portals4_LIBS) mca_mtl_portals4_la_LDFLAGS = -module -avoid-version $(mtl_portals4_LDFLAGS) diff --git a/ompi/mca/mtl/psm2/Makefile.am b/ompi/mca/mtl/psm2/Makefile.am index 8b889bf726a..af1878c4f08 100644 --- a/ompi/mca/mtl/psm2/Makefile.am +++ b/ompi/mca/mtl/psm2/Makefile.am @@ -59,7 +59,7 @@ endif mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_mtl_psm2_la_SOURCES = $(mtl_psm2_sources) -mca_mtl_psm2_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_mtl_psm2_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(mtl_psm2_LIBS) mca_mtl_psm2_la_LDFLAGS = -module -avoid-version $(mtl_psm2_LDFLAGS) diff --git a/ompi/mca/op/avx/Makefile.am b/ompi/mca/op/avx/Makefile.am index b1d84d90b33..022c2dc7da0 100644 --- a/ompi/mca/op/avx/Makefile.am +++ b/ompi/mca/op/avx/Makefile.am @@ -86,7 +86,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_op_avx_la_SOURCES = $(sources) mca_op_avx_la_LIBADD = $(specialized_op_libs) -mca_op_avx_la_LDFLAGS = -module -avoid-version $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_op_avx_la_LDFLAGS = -module -avoid-version $(top_builddir)/ompi/libopen-mpi.la # Specific information for static builds. diff --git a/ompi/mca/op/example/Makefile.am b/ompi/mca/op/example/Makefile.am index e0990e52716..5b2f80ee706 100644 --- a/ompi/mca/op/example/Makefile.am +++ b/ompi/mca/op/example/Makefile.am @@ -71,7 +71,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component) mca_op_example_la_SOURCES = $(component_sources) mca_op_example_la_LDFLAGS = -module -avoid-version -mca_op_example_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_op_example_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la # Specific information for static builds. # diff --git a/ompi/mca/osc/monitoring/Makefile.am b/ompi/mca/osc/monitoring/Makefile.am index a90ce38c6e3..2567b2a4b54 100644 --- a/ompi/mca/osc/monitoring/Makefile.am +++ b/ompi/mca/osc/monitoring/Makefile.am @@ -31,7 +31,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_osc_monitoring_la_SOURCES = $(monitoring_sources) mca_osc_monitoring_la_LDFLAGS = -module -avoid-version -mca_osc_monitoring_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_osc_monitoring_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(OMPI_TOP_BUILDDIR)/ompi/mca/common/monitoring/libmca_common_monitoring.la noinst_LTLIBRARIES = $(component_noinst) diff --git a/ompi/mca/osc/portals4/Makefile.am b/ompi/mca/osc/portals4/Makefile.am index a7f5a061254..3971fafa7ac 100644 --- a/ompi/mca/osc/portals4/Makefile.am +++ b/ompi/mca/osc/portals4/Makefile.am @@ -36,7 +36,7 @@ endif mcacomponentdir = $(pkglibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_osc_portals4_la_SOURCES = $(portals4_sources) -mca_osc_portals4_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_osc_portals4_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(osc_portals4_LIBS) mca_osc_portals4_la_LDFLAGS = -module -avoid-version $(osc_portals4_LDFLAGS) diff --git a/ompi/mca/osc/rdma/Makefile.am b/ompi/mca/osc/rdma/Makefile.am index 4757ce6aa93..0af844602c1 100644 --- a/ompi/mca/osc/rdma/Makefile.am +++ b/ompi/mca/osc/rdma/Makefile.am @@ -63,7 +63,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_osc_rdma_la_SOURCES = $(rdma_sources) mca_osc_rdma_la_LDFLAGS = -module -avoid-version -mca_osc_rdma_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_osc_rdma_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_osc_rdma_la_SOURCES = $(rdma_sources) diff --git a/ompi/mca/osc/sm/Makefile.am b/ompi/mca/osc/sm/Makefile.am index 01d230d7bf3..db6aedf13f8 100644 --- a/ompi/mca/osc/sm/Makefile.am +++ b/ompi/mca/osc/sm/Makefile.am @@ -34,7 +34,7 @@ endif mcacomponentdir = $(pkglibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_osc_sm_la_SOURCES = $(sm_sources) -mca_osc_sm_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_osc_sm_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(osc_sm_LIBS) mca_osc_sm_la_LDFLAGS = -module -avoid-version $(osc_sm_LDFLAGS) diff --git a/ompi/mca/osc/ucx/Makefile.am b/ompi/mca/osc/ucx/Makefile.am index 77184d83584..4c3fbd6da91 100644 --- a/ompi/mca/osc/ucx/Makefile.am +++ b/ompi/mca/osc/ucx/Makefile.am @@ -34,7 +34,7 @@ endif mcacomponentdir = $(pkglibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_osc_ucx_la_SOURCES = $(ucx_sources) -mca_osc_ucx_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la $(osc_ucx_LIBS) \ +mca_osc_ucx_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la $(osc_ucx_LIBS) \ $(OPAL_TOP_BUILDDIR)/opal/mca/common/ucx/lib@OPAL_LIB_NAME@mca_common_ucx.la mca_osc_ucx_la_LDFLAGS = -module -avoid-version $(osc_ucx_LDFLAGS) diff --git a/ompi/mca/part/persist/Makefile.am b/ompi/mca/part/persist/Makefile.am index fab2975e92b..910ea0a59ad 100644 --- a/ompi/mca/part/persist/Makefile.am +++ b/ompi/mca/part/persist/Makefile.am @@ -42,7 +42,7 @@ local_sources = \ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_part_persist_la_SOURCES = $(local_sources) -mca_part_persist_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_part_persist_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(part_persist_LIBS) mca_part_persist_la_LDFLAGS = -module -avoid-version $(part_persist_LDFLAGS) diff --git a/ompi/mca/pml/cm/Makefile.am b/ompi/mca/pml/cm/Makefile.am index d1a43fe8841..fa7327d6372 100644 --- a/ompi/mca/pml/cm/Makefile.am +++ b/ompi/mca/pml/cm/Makefile.am @@ -43,7 +43,7 @@ local_sources = \ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_pml_cm_la_SOURCES = $(local_sources) -mca_pml_cm_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_pml_cm_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(pml_cm_LIBS) mca_pml_cm_la_LDFLAGS = -module -avoid-version $(pml_cm_LDFLAGS) diff --git a/ompi/mca/pml/example/Makefile.am b/ompi/mca/pml/example/Makefile.am index 4c3588848a9..2ea3b1bb269 100644 --- a/ompi/mca/pml/example/Makefile.am +++ b/ompi/mca/pml/example/Makefile.am @@ -53,7 +53,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_pml_example_la_SOURCES = $(local_sources) mca_pml_example_la_LDFLAGS = -module -avoid-version -mca_pml_example_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_pml_example_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_pml_example_la_SOURCES = $(local_sources) diff --git a/ompi/mca/pml/monitoring/Makefile.am b/ompi/mca/pml/monitoring/Makefile.am index 431f5be9ba9..6e4215de807 100644 --- a/ompi/mca/pml/monitoring/Makefile.am +++ b/ompi/mca/pml/monitoring/Makefile.am @@ -32,7 +32,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_pml_monitoring_la_SOURCES = $(monitoring_sources) mca_pml_monitoring_la_LDFLAGS = -module -avoid-version -mca_pml_monitoring_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \ +mca_pml_monitoring_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la \ $(OMPI_TOP_BUILDDIR)/ompi/mca/common/monitoring/libmca_common_monitoring.la noinst_LTLIBRARIES = $(component_noinst) diff --git a/ompi/mca/pml/ob1/Makefile.am b/ompi/mca/pml/ob1/Makefile.am index 38487f5a2e6..4a84f9ec69b 100644 --- a/ompi/mca/pml/ob1/Makefile.am +++ b/ompi/mca/pml/ob1/Makefile.am @@ -72,7 +72,7 @@ mcacomponent_LTLIBRARIES = $(component_install) mca_pml_ob1_la_SOURCES = $(ob1_sources) mca_pml_ob1_la_LDFLAGS = -module -avoid-version -mca_pml_ob1_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_pml_ob1_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_pml_ob1_la_SOURCES = $(ob1_sources) diff --git a/ompi/mca/pml/ucx/Makefile.am b/ompi/mca/pml/ucx/Makefile.am index fe6c8e47c35..04ab6a445a0 100644 --- a/ompi/mca/pml/ucx/Makefile.am +++ b/ompi/mca/pml/ucx/Makefile.am @@ -37,7 +37,7 @@ endif mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_pml_ucx_la_SOURCES = $(local_sources) -mca_pml_ucx_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la $(pml_ucx_LIBS) \ +mca_pml_ucx_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la $(pml_ucx_LIBS) \ $(OPAL_TOP_BUILDDIR)/opal/mca/common/ucx/lib@OPAL_LIB_NAME@mca_common_ucx.la mca_pml_ucx_la_LDFLAGS = -module -avoid-version $(pml_ucx_LDFLAGS) diff --git a/ompi/mca/pml/v/Makefile.am b/ompi/mca/pml/v/Makefile.am index 3fd61be21df..e68c373e09a 100644 --- a/ompi/mca/pml/v/Makefile.am +++ b/ompi/mca/pml/v/Makefile.am @@ -32,7 +32,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_pml_v_la_SOURCES = $(local_sources) mca_pml_v_la_LDFLAGS = -module -avoid-version -mca_pml_v_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_pml_v_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_pml_v_la_SOURCES = $(local_sources) diff --git a/ompi/mca/topo/basic/Makefile.am b/ompi/mca/topo/basic/Makefile.am index 9ed7b26dadd..907f5ffa282 100644 --- a/ompi/mca/topo/basic/Makefile.am +++ b/ompi/mca/topo/basic/Makefile.am @@ -37,7 +37,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component) mca_topo_basic_la_SOURCES = $(component_sources) mca_topo_basic_la_LDFLAGS = -module -avoid-version -mca_topo_basic_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_topo_basic_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(lib) libmca_topo_basic_la_SOURCES = $(lib_sources) diff --git a/ompi/mca/topo/example/Makefile.am b/ompi/mca/topo/example/Makefile.am index 22acd1a360f..29e78f455a0 100644 --- a/ompi/mca/topo/example/Makefile.am +++ b/ompi/mca/topo/example/Makefile.am @@ -46,7 +46,7 @@ mcacomponentdir = $(pkglibdir) mcacomponent_LTLIBRARIES = $(component) mca_topo_example_la_SOURCES = $(component_sources) mca_topo_example_la_LDFLAGS = -module -avoid-version -mca_topo_example_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_topo_example_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(lib) libmca_topo_example_la_SOURCES = $(lib_sources) diff --git a/ompi/mca/topo/treematch/Makefile.am b/ompi/mca/topo/treematch/Makefile.am index e17d4e18085..eeb694a136f 100644 --- a/ompi/mca/topo/treematch/Makefile.am +++ b/ompi/mca/topo/treematch/Makefile.am @@ -43,7 +43,7 @@ mcacomponentdir = $(pkglibdir) mcacomponent_LTLIBRARIES = $(component) mca_topo_treematch_la_SOURCES = $(component_sources) mca_topo_treematch_la_LDFLAGS = -module -avoid-version $(topo_treematch_LDFLAGS) -mca_topo_treematch_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la $(topo_treematch_LIBS) +mca_topo_treematch_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la $(topo_treematch_LIBS) noinst_LTLIBRARIES = $(lib) libmca_topo_treematch_la_SOURCES = $(lib_sources) diff --git a/ompi/mca/vprotocol/example/Makefile.am b/ompi/mca/vprotocol/example/Makefile.am index 64ec3e4cca0..2d00dbbb1fc 100644 --- a/ompi/mca/vprotocol/example/Makefile.am +++ b/ompi/mca/vprotocol/example/Makefile.am @@ -37,7 +37,7 @@ local_sources = \ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_vprotocol_example_la_SOURCES = $(local_sources) -mca_vprotocol_example_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_vprotocol_example_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la mca_vprotocol_example_la_CFLAGS = mca_vprotocol_example_la_LDFLAGS = -module -avoid-version diff --git a/ompi/mca/vprotocol/pessimist/Makefile.am b/ompi/mca/vprotocol/pessimist/Makefile.am index f037b9f6d00..8f931fccb8e 100644 --- a/ompi/mca/vprotocol/pessimist/Makefile.am +++ b/ompi/mca/vprotocol/pessimist/Makefile.am @@ -50,7 +50,7 @@ mcacomponentdir = $(ompilibdir) mcacomponent_LTLIBRARIES = $(component_install) mca_vprotocol_pessimist_la_SOURCES = $(local_sources) mca_vprotocol_pessimist_la_LDFLAGS = -module -avoid-version -mca_vprotocol_pessimist_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la +mca_vprotocol_pessimist_la_LIBADD = $(top_builddir)/ompi/libopen-mpi.la noinst_LTLIBRARIES = $(component_noinst) libmca_vprotocol_pessimist_la_SOURCES = $(local_sources) diff --git a/ompi/message/Makefile.am b/ompi/message/Makefile.am index 8fc7c07e4cd..b5650a5f81d 100644 --- a/ompi/message/Makefile.am +++ b/ompi/message/Makefile.am @@ -24,5 +24,5 @@ headers += \ message/message.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ message/message.c diff --git a/ompi/mpi/c/Makefile.am b/ompi/mpi/c/Makefile.am index c8fad462772..425d1f22fb6 100644 --- a/ompi/mpi/c/Makefile.am +++ b/ompi/mpi/c/Makefile.am @@ -38,8 +38,11 @@ include $(top_srcdir)/Makefile.ompi-rules noinst_LTLIBRARIES = libmpi_c.la libmpi_c_profile.la +if OMPI_STANDARD_ABI +noinst_LTLIBRARIES += libmpi_c_abi.la libmpi_c_abi_profile.la +endif if BUILD_MPI_BINDINGS_LAYER -noinst_LTLIBRARIES += libmpi_c_noprofile.la +noinst_LTLIBRARIES += libmpi_c_noprofile.la libmpi_c_abi_noprofile.la endif headers = bindings.h @@ -478,18 +481,40 @@ prototype_sources = \ win_wait.c.in \ wtime.c.in -# Include template files in case someone wants to update them EXTRA_DIST = $(prototype_sources) # attr_fn.c contains attribute manipulation functions which do not # profiling implications, and so are always built. libmpi_c_la_SOURCES = \ attr_fn.c +# The MPI_Abi_* functions do not require profiling implementations. +libmpi_c_la_SOURCES += \ + abi_details.c \ + abi_supported.c \ + abi_version.c libmpi_c_la_LIBADD = libmpi_c_profile.la if BUILD_MPI_BINDINGS_LAYER libmpi_c_la_LIBADD += libmpi_c_noprofile.la endif +libmpi_c_abi_la_SOURCES = \ + abi.h \ + attr_fn.c \ + abi_details.c \ + abi_supported.c \ + abi_version.c +libmpi_c_abi_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES +libmpi_c_abi_la_LIBADD = libmpi_c_abi_profile.la +if BUILD_MPI_BINDINGS_LAYER +libmpi_c_abi_la_LIBADD += libmpi_c_abi_noprofile.la +endif + +libmpi_c_abi_profile_la_SOURCES = $(abi_interface_profile_sources) +libmpi_c_abi_profile_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -DOMPI_BUILD_MPI_PROFILING=1 + +libmpi_c_abi_noprofile_la_SOURCES = $(abi_interface_profile_sources) +libmpi_c_abi_noprofile_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -DOMPI_BUILD_MPI_PROFILING=0 + # Conditionally install the header files if WANT_INSTALL_HEADERS ompidir = $(ompiincludedir)/$(subdir) @@ -497,11 +522,12 @@ ompi_HEADERS = $(headers) endif # -# List of all C files that have profile versions (generated_*.c files were +# List of all C files that have profile versions (*_generated.c files were # generated from prototype_sources above). # # interface_profile_sources = $(prototype_sources:.c.in=_generated.c) +abi_interface_profile_sources =${interface_profile_sources:%=standard_%} # The following are special case functions where we @@ -539,7 +565,8 @@ libmpi_c_noprofile_la_SOURCES = $(interface_profile_sources) libmpi_c_noprofile_la_CPPFLAGS = -DOMPI_BUILD_MPI_PROFILING=0 # ABI generation rules -%_generated.c: %.c.in +if OMPI_GENERATE_BINDINGS +ompi_%_generated.c: %.c.in $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ --builddir $(abs_top_builddir) \ --srcdir $(abs_top_srcdir) \ @@ -549,5 +576,20 @@ libmpi_c_noprofile_la_CPPFLAGS = -DOMPI_BUILD_MPI_PROFILING=0 ompi \ $< +standard_%_generated.c: %.c.in + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + source \ + standard \ + $< +abi.h: abi.py $(prototype_sources) + $(OMPI_V_GEN) $(PYTHON) $(srcdir)/abi.py header --srcdir=$(srcdir) $(prototype_sources) > $@ +standard_abi/mpi.h: abi.py $(prototype_sources) + mkdir -p standard_abi + $(OMPI_V_GEN) $(PYTHON) $(srcdir)/abi.py header --srcdir=$(srcdir) --external $(prototype_sources) > $@ +endif # Delete generated files on maintainer-clean -MAINTAINERCLEANFILES = *_generated.c +MAINTAINERCLEANFILES = *_generated.c abi.h standard_abi/ diff --git a/ompi/mpi/c/abi.py b/ompi/mpi/c/abi.py new file mode 100755 index 00000000000..f40986ff981 --- /dev/null +++ b/ompi/mpi/c/abi.py @@ -0,0 +1,1278 @@ +#!/usr/bin/env python3 +# Copyright (c) 2023 Triad National Security, LLC. All rights reserved. +# Copyright (c) 2023 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADERS$ +# +# +"""MPI Standard ABI Generation. + +TEMPLATE SOURCE FILE ASSUMPTIONS: +* Only one function per file +* Nothing (other than blank lines) after closing '}' +* Function prototype is preceded by PROTOTYPE +* All types in the function prototype are converted to one-word capital types + as defined here (to be later converted to ompi or standard ABI types) +* Functions requiring a bigcount implementation should have type COUNT in + place of MPI_Count or int for each count parameter. Bigcount functions will + be generated automatically for any function that includes a COUNT type. +""" +from abc import ABC, abstractmethod +import argparse +import re +import sys +import os + +# C type: const int +ERROR_CLASSES = [ + 'MPI_SUCCESS', + 'MPI_ERR_BUFFER', + 'MPI_ERR_COUNT', + 'MPI_ERR_TYPE', + 'MPI_ERR_TAG', + 'MPI_ERR_COMM', + 'MPI_ERR_RANK', + 'MPI_ERR_REQUEST', + 'MPI_ERR_ROOT', + 'MPI_ERR_GROUP', + 'MPI_ERR_OP', + 'MPI_ERR_TOPOLOGY', + 'MPI_ERR_DIMS', + 'MPI_ERR_ARG', + 'MPI_ERR_UNKNOWN', + 'MPI_ERR_TRUNCATE', + 'MPI_ERR_OTHER', + 'MPI_ERR_INTERN', + 'MPI_ERR_PENDING', + 'MPI_ERR_IN_STATUS', + 'MPI_ERR_ACCESS', + 'MPI_ERR_AMODE', + 'MPI_ERR_ASSERT', + 'MPI_ERR_BAD_FILE', + 'MPI_ERR_BASE', + 'MPI_ERR_CONVERSION', + 'MPI_ERR_DISP', + 'MPI_ERR_DUP_DATAREP', + 'MPI_ERR_FILE_EXISTS', + 'MPI_ERR_FILE_IN_USE', + 'MPI_ERR_FILE', + 'MPI_ERR_INFO_KEY', + 'MPI_ERR_INFO_NOKEY', + 'MPI_ERR_INFO_VALUE', + 'MPI_ERR_INFO', + 'MPI_ERR_IO', + 'MPI_ERR_KEYVAL', + 'MPI_ERR_LOCKTYPE', + 'MPI_ERR_NAME', + 'MPI_ERR_NO_MEM', + 'MPI_ERR_NOT_SAME', + 'MPI_ERR_NO_SPACE', + 'MPI_ERR_NO_SUCH_FILE', + 'MPI_ERR_PORT', + 'MPI_ERR_PROC_ABORTED', + 'MPI_ERR_QUOTA', + 'MPI_ERR_READ_ONLY', + 'MPI_ERR_RMA_ATTACH', + 'MPI_ERR_RMA_CONFLICT', + 'MPI_ERR_RMA_RANGE', + 'MPI_ERR_RMA_SHARED', + 'MPI_ERR_RMA_SYNC', + 'MPI_ERR_RMA_FLAVOR', + 'MPI_ERR_SERVICE', + 'MPI_ERR_SESSION', + 'MPI_ERR_SIZE', + 'MPI_ERR_SPAWN', + 'MPI_ERR_UNSUPPORTED_DATAREP', + 'MPI_ERR_UNSUPPORTED_OPERATION', + 'MPI_ERR_WIN', + 'MPI_T_ERR_CANNOT_INIT', + 'MPI_T_ERR_NOT_INITIALIZED', + 'MPI_T_ERR_MEMORY', + 'MPI_T_ERR_INVALID', + 'MPI_T_ERR_INVALID_INDEX', + 'MPI_T_ERR_INVALID_ITEM', + 'MPI_T_ERR_INVALID_SESSION', + 'MPI_T_ERR_INVALID_HANDLE', + 'MPI_T_ERR_INVALID_NAME', + 'MPI_T_ERR_OUT_OF_HANDLES', + 'MPI_T_ERR_OUT_OF_SESSIONS', + 'MPI_T_ERR_CVAR_SET_NOT_NOW', + 'MPI_T_ERR_CVAR_SET_NEVER', + 'MPI_T_ERR_PVAR_NO_WRITE', + 'MPI_T_ERR_PVAR_NO_STARTSTOP', + 'MPI_T_ERR_PVAR_NO_ATOMIC', + 'MPI_ERR_LASTCODE', +] + +PREDEFINED_DATATYPES = [ + 'MPI_CHAR', + 'MPI_SHORT', + 'MPI_INT', + 'MPI_LONG', + 'MPI_LONG_LONG_INT', + 'MPI_LONG_LONG', + 'MPI_SIGNED_CHAR', + 'MPI_UNSIGNED_CHAR', + 'MPI_UNSIGNED_SHORT', + 'MPI_UNSIGNED', + 'MPI_UNSIGNED_LONG', + 'MPI_UNSIGNED_LONG_LONG', + 'MPI_FLOAT', + 'MPI_DOUBLE', + 'MPI_LONG_DOUBLE', + 'MPI_WCHAR', + 'MPI_C_BOOL', + 'MPI_INT8_T', + 'MPI_INT16_T', + 'MPI_INT32_T', + 'MPI_INT64_T', + 'MPI_UINT8_T', + 'MPI_UINT16_T', + 'MPI_UINT32_T', + 'MPI_UINT64_T', + 'MPI_AINT', + 'MPI_COUNT', + 'MPI_OFFSET', + 'MPI_C_COMPLEX', + 'MPI_C_FLOAT_COMPLEX', + 'MPI_C_DOUBLE_COMPLEX', + 'MPI_C_LONG_DOUBLE_COMPLEX', + 'MPI_BYTE', + 'MPI_PACKED', + 'MPI_CXX_BOOL', + 'MPI_CXX_FLOAT_COMPLEX', + 'MPI_CXX_DOUBLE_COMPLEX', + 'MPI_CXX_LONG_DOUBLE_COMPLEX', + 'MPI_FLOAT_INT', + 'MPI_DOUBLE_INT', + 'MPI_LONG_INT', + 'MPI_2INT', + 'MPI_SHORT_INT', + 'MPI_LONG_DOUBLE_INT', +] + +# C type: MPI_Comm +RESERVED_COMMUNICATORS = [ + 'MPI_COMM_NULL', + 'MPI_COMM_WORLD', + 'MPI_COMM_SELF', +] + +COMMUNICATOR_SPLIT_TYPES = [ + 'MPI_COMM_TYPE_SHARED', + 'MPI_COMM_TYPE_HW_UNGUIDED', + 'MPI_COMM_TYPE_HW_GUIDED', +] + +RESERVED_WINDOWS = [ + 'MPI_WIN_NULL', +] + +RESERVED_REQUESTS = [ + 'MPI_REQUEST_NULL', +] + +RESERVED_INFOS = [ + 'MPI_INFO_ENV', + 'MPI_INFO_NULL', +] + +RESERVED_FILES = [ + 'MPI_FILE_NULL', +] + +IGNORED_STATUS_HANDLES = [ + 'MPI_STATUSES_IGNORE', + 'MPI_STATUS_IGNORE', +] + +COLLECTIVE_OPERATIONS = [ + 'MPI_MAX', + 'MPI_MIN', + 'MPI_SUM', + 'MPI_PROD', + 'MPI_MAXLOC', + 'MPI_MINLOC', + 'MPI_BAND', + 'MPI_BOR', + 'MPI_BXOR', + 'MPI_LAND', + 'MPI_LOR', + 'MPI_LXOR', + 'MPI_REPLACE', + 'MPI_NO_OP', +] + +VARIOUS_CONSTANTS = { + # Just setting this to the same as ompi ABI for right now, but will need to + # match the standard ABI value when defined + 'MPI_MAX_LIBRARY_VERSION_STRING': 256, + 'MPI_MAX_PROCESSOR_NAME': 256, +} + +# Types + +C_OPAQUE_TYPES = { + 'MPI_Aint': 'intptr_t', + 'MPI_Offset': 'int64_t', + 'MPI_Count': 'size_t', + # The below type needs to be set externally depending on Fortran compiler + 'MPI_Fint': 'int64_t', +} + +C_HANDLES = [ + 'MPI_Comm', + 'MPI_Datatype', + 'MPI_Errhandler', + 'MPI_File', + 'MPI_Group', + 'MPI_Info', + 'MPI_Message', + 'MPI_Op', + 'MPI_Request', + 'MPI_Session', + 'MPI_Win', +] + + +class ConvertFuncs: + """Names of conversion functions (between standard ABI and OMPI ABI).""" + + ERROR_CLASS = 'ompi_convert_intern_error_abi_error' + COMM = 'ompi_convert_abi_comm_intern_comm' + DATATYPE = 'ompi_convert_abi_datatype_intern_datatype' + REQUEST = 'ompi_convert_abi_request_intern_request' + STATUS = 'ompi_convert_intern_status_abi_status' + OP = 'ompi_convert_abi_op_intern_op' + WIN = 'ompi_convert_abi_win_intern_win' + INFO = 'ompi_convert_abi_info_intern_info' + FILE = 'ompi_convert_abi_file_intern_file' + + +class ConvertOMPIToStandard: + """Generated function for converting from OMPI to standard ABI.""" + + COMM = 'ompi_convert_comm_ompi_to_standard' + + +# Inline function attributes +INLINE_ATTRS = '__opal_attribute_always_inline__ static inline' + + +def mpi_fn_name_from_base_fn_name(name): + """Convert from a base name to the standard 'MPI_*' name.""" + return f'MPI_{name.capitalize()}' + + +def abi_internal_name(extname): + """Convert from the ABI external name to an internal name. + + Used to avoid conflicts with existing MPI names. + """ + return f'{extname}_ABI_INTERNAL' + + +class ABIHeaderBuilder: + """ABI header builder code.""" + + def __init__(self, prototypes, external=False, file=sys.stdout): + self.file = file + self.external = external + + if external: + mangle_name = lambda name: name + else: + mangle_name = abi_internal_name + + # Build up the list of standard ABI signatures + signatures = [] + for prototype in prototypes: + base_name = mpi_fn_name_from_base_fn_name(prototype.name) + signatures.append(prototype.signature('standard', base_name, + mangle_name=mangle_name)) + # Profiling prototype + signatures.append(prototype.signature('standard', f'P{base_name}', + mangle_name=mangle_name)) + if prototype.need_bigcount: + signatures.append(prototype.signature('standard', f'{base_name}_c', + count_type='MPI_Count', + mangle_name=mangle_name)) + # Profiling prototype + signatures.append(prototype.signature('standard', f'P{base_name}_c', + count_type='MPI_Count', + mangle_name=mangle_name)) + self.signatures = signatures + + def mangle_name(self, extname): + """Mangle names, depending on whether building external or internal header.""" + if self.external: + return extname + return abi_internal_name(extname) + + def dump(self, *pargs, **kwargs): + print(*pargs, **kwargs, file=self.file) + + def dump_lines(self, lines): + lines = indent_lines(lines, 4 * ' ', start=1) + for line in lines: + self.dump(line) + + def generate_error_convert_fn(self): + self.dump(f'{INLINE_ATTRS} int {ConvertFuncs.ERROR_CLASS}(int error_class)') + self.dump('{') + lines = [] + lines.append('switch (error_class) {') + for error in ERROR_CLASSES: + lines.append(f'case {self.mangle_name(error)}:') + lines.append(f'return {error};') + lines.append('default:') + lines.append('return error_class;') + lines.append('}') + self.dump_lines(lines) + self.dump('}') + + def generic_convert(self, fn_name, param_name, type_, value_names): + intern_type = self.mangle_name(type_) + self.dump(f'{INLINE_ATTRS} {type_} {fn_name}({intern_type} {param_name})') + self.dump('{') + lines = [] + for i, value_name in enumerate(value_names): + intern_name = self.mangle_name(value_name) + if i == 0: + lines.append('if (%s == %s) {' % (intern_name, param_name)) + else: + lines.append('} else if (%s == %s) {' % (intern_name, param_name)) + lines.append(f'return {value_name};') + lines.append('}') + lines.append(f'return ({type_}) {param_name};') + self.dump_lines(lines) + self.dump('}') + + def generic_convert_reverse(self, fn_name, param_name, type_, value_names): + intern_type = self.mangle_name(type_) + self.dump(f'{INLINE_ATTRS} {intern_type} {fn_name}({type_} {param_name})') + self.dump('{') + lines = [] + for i, value_name in enumerate(value_names): + intern_name = self.mangle_name(value_name) + if i == 0: + lines.append('if (%s == %s) {' % (value_name, param_name)) + else: + lines.append('} else if (%s == %s) {' % (value_name, param_name)) + lines.append(f'return {intern_name};') + lines.append('}') + lines.append(f'return ({intern_type}) {param_name};') + self.dump_lines(lines) + self.dump('}') + + def generate_comm_convert_fn(self): + self.generic_convert(ConvertFuncs.COMM, 'comm', 'MPI_Comm', RESERVED_COMMUNICATORS) + + def generate_comm_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.COMM, 'comm', 'MPI_Comm', RESERVED_COMMUNICATORS) + + def generate_info_convert_fn(self): + self.generic_convert(ConvertFuncs.INFO, 'info', 'MPI_Info', RESERVED_INFOS) + + def generate_file_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertFuncs.FILE, 'file', 'MPI_File', RESERVED_FILES) + + def generate_datatype_convert_fn(self): + self.generic_convert(ConvertFuncs.DATATYPE, 'datatype', 'MPI_Datatype', PREDEFINED_DATATYPES) + + def generate_op_convert_fn(self): + self.generic_convert(ConvertFuncs.OP, 'op', 'MPI_Op', COLLECTIVE_OPERATIONS) + + def generate_win_convert_fn(self): + self.generic_convert(ConvertFuncs.WIN, 'win', 'MPI_Win', RESERVED_WINDOWS) + + def generate_pointer_convert_fn(self, type_, fn_name, constants): + abi_type = self.mangle_name(type_) + self.dump(f'{INLINE_ATTRS} void {fn_name}({abi_type} *ptr)') + self.dump('{') + lines = [] + for i, ompi_name in enumerate(constants): + abi_name = self.mangle_name(ompi_name) + if i == 0: + lines.append('if (%s == (%s) *ptr) {' % (ompi_name, type_)) + else: + lines.append('} else if (%s == (%s) *ptr) {' % (ompi_name, type_)) + lines.append(f'*ptr = {abi_name};') + lines.append('}') + self.dump_lines(lines) + self.dump('}') + + def generate_request_convert_fn(self): + self.generate_pointer_convert_fn('MPI_Request', ConvertFuncs.REQUEST, RESERVED_REQUESTS) + + def generate_file_convert_fn(self): + self.generate_pointer_convert_fn('MPI_File', ConvertFuncs.FILE, RESERVED_FILES) + + def generate_status_convert_fn(self): + type_ = 'MPI_Status' + abi_type = self.mangle_name(type_) + self.dump(f'{INLINE_ATTRS} void {ConvertFuncs.STATUS}({abi_type} *out, {type_} *inp)') + self.dump('{') + self.dump(' out->MPI_SOURCE = inp->MPI_SOURCE;') + self.dump(' out->MPI_TAG = inp->MPI_TAG;') + self.dump(f' out->MPI_ERROR = {ConvertFuncs.ERROR_CLASS}(inp->MPI_ERROR);') + # TODO: What to do with the private fields? + self.dump('}') + + def define(self, type_, name, value): + self.dump(f'#define {name} OMPI_CAST_CONSTANT({type_}, {value})') + + def define_all(self, type_, constants): + for i, const in enumerate(constants): + self.define(self.mangle_name(type_), self.mangle_name(const), i + 1) + self.dump() + + def dump_header(self): + header_guard = '_ABI_INTERNAL_' + self.dump(f'#ifndef {header_guard}') + self.dump(f'#define {header_guard}') + + self.dump('#include "stddef.h"') + self.dump('#include "stdint.h"') + + self.dump(""" +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" { +#endif +""") + + self.dump(""" +#if defined(c_plusplus) || defined(__cplusplus) +#define OMPI_CAST_CONSTANT(type, value) (static_cast (static_cast (value))) +#else +#define OMPI_CAST_CONSTANT(type, value) ((type) ((void *) value)) +#endif +""") + + for i, err in enumerate(ERROR_CLASSES): + self.dump(f'#define {self.mangle_name(err)} {i + 1}') + self.dump() + + self.define_all('MPI_Datatype', PREDEFINED_DATATYPES) + self.define_all('MPI_Op', COLLECTIVE_OPERATIONS) + self.define_all('MPI_Comm', RESERVED_COMMUNICATORS) + self.define_all('MPI_Request', RESERVED_REQUESTS) + self.define_all('MPI_Win', RESERVED_WINDOWS) + self.define_all('MPI_Info', RESERVED_INFOS) + self.define_all('MPI_File', RESERVED_FILES) + + for name, value in VARIOUS_CONSTANTS.items(): + self.dump(f'#define {self.mangle_name(name)} {value}') + self.dump() + + status_type = self.mangle_name('MPI_Status') + for i, name in enumerate(IGNORED_STATUS_HANDLES): + self.define(f'{status_type} *', self.mangle_name(name), i + 1) + self.dump() + + for i, name in enumerate(COMMUNICATOR_SPLIT_TYPES): + self.dump(f'#define {self.mangle_name(name)} {i}') + self.dump() + + for mpi_type, c_type in C_OPAQUE_TYPES.items(): + self.dump(f'typedef {c_type} {self.mangle_name(mpi_type)};') + self.dump() + + for handle in C_HANDLES: + prefix, suffix = handle.split('_') + name = f'{prefix}_ABI_{suffix}' + self.dump(f'typedef struct {self.mangle_name(name)} *{self.mangle_name(handle)};') + self.dump() + self.dump(""" +struct MPI_Status_ABI { + int MPI_SOURCE; + int MPI_TAG; + int MPI_ERROR; + int mpi_abi_private[5]; +};""") + self.dump(f'typedef struct MPI_Status_ABI {self.mangle_name("MPI_Status")};') + self.dump() + # Function signatures + for sig in self.signatures: + self.dump(f'{sig};') + self.dump('int MPI_Abi_details(int *buflen, char *details, MPI_Info *info);') + self.dump('int MPI_Abi_supported(int *flag);') + self.dump('int MPI_Abi_version(int *abi_major, int *abi_minor);') + if not self.external: + # Now generate the conversion code + self.generate_error_convert_fn() + self.generate_comm_convert_fn() + self.generate_comm_convert_fn_intern_to_abi() + self.generate_info_convert_fn() + self.generate_file_convert_fn() + self.generate_datatype_convert_fn() + self.generate_op_convert_fn() + self.generate_win_convert_fn() + self.generate_request_convert_fn() + self.generate_status_convert_fn() + + self.dump(""" +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif +""") + self.dump(f'#endif /* {header_guard} */') + + +class Parameter: + + def __init__(self, text): + """Parse a parameter.""" + # parameter in the form "TYPE NAME" or "TYPE NAME:COUNT_VAR" + type_, namecount = text.split() + if ':' in namecount: + name, count_param = namecount.split(':') + else: + name, count_param = namecount, None + self.type_ = type_ + self.name = name + self.count_param = count_param + + def construct(self, abi_type, **kwargs): + """Construct the type parameter for the given ABI.""" + return Type.construct(abi_type, type_=self.type_, name=self.name, + count_param=self.count_param, **kwargs) + + +class ReturnType: + """Return type wrapper.""" + + def __init__(self, type_): + self.type_ = type_ + + def construct(self, abi_type, **kwargs): + """Construct the return type for the given ABI.""" + return Type.construct(abi_type, type_=self.type_, **kwargs) + + +class Type(ABC): + """Type representation.""" + + PARAMS_OMPI_ABI = {} + + PARAMS_STANDARD_ABI = {} + + def __init__(self, type_, name=None, + mangle_name=lambda name: abi_internal_name(name), + count_param=None, **kwargs): + self.type = type_ + self.name = name + self.count_param = count_param + self.mangle_name = mangle_name + + @staticmethod + def construct(abi_type, type_, **kwargs): + """Construct the parameter for the given ABI and type.""" + if abi_type == 'ompi': + return Type.PARAMS_OMPI_ABI[type_](type_, **kwargs) + elif abi_type == 'standard': + return Type.PARAMS_STANDARD_ABI[type_](type_, **kwargs) + else: + raise RuntimeError(f'invalid ABI type {abi_type}') + + @staticmethod + def add_type(type_name, abi_type=('ompi', 'standard')): + """Add a new class corresponding to a type.""" + def wrapper(class_): + if 'ompi' in abi_type: + Type.PARAMS_OMPI_ABI[type_name] = class_ + if 'standard' in abi_type: + Type.PARAMS_STANDARD_ABI[type_name] = class_ + # Parameter.TYPES[type_] = class_ + return class_ + return wrapper + + @property + def is_count(self): + """Return True if this parameter is a count (requiring bigcount API).""" + return False + + @property + def init_code(self): + """Return the initialization code needed for an ABI wrapper.""" + return [] + + @property + def final_code(self): + """Return the finalization code needed for an ABI wrapper.""" + return [] + + def return_code(self, name): + """Process a value and then build up a return statement.""" + return [f'return {name};'] + + @property + def argument(self): + """Return the argument text required for passing an argument to a function.""" + return self.name + + @abstractmethod + def type_text(self, count_type=None): + """Return the source text corresponding to a type definition.""" + + def tmp_type_text(self, count_type=None): + """Return source text corresponding to a temporary type definition before conversion.""" + return self.type_text(count_type=count_type) + + def parameter(self, count_type=None, **kwargs): + return f'{self.type_text(count_type)} {self.name}' + + +@Type.add_type('ERROR_CLASS') +class TypeErrorClass(Type): + + def type_text(self, count_type=None): + return 'int' + + def return_code(self, name): + return [f'return {ConvertFuncs.ERROR_CLASS}({name});'] + + +@Type.add_type('BUFFER') +class TypeBuffer(Type): + + def type_text(self, count_type=None): + return 'const void *' + + +@Type.add_type('BUFFER_OUT') +class TypeBufferOut(Type): + + def type_text(self, count_type=None): + return f'void *' + + +@Type.add_type('COUNT') +class TypeCount(Type): + + @property + def is_count(self): + return True + + def type_text(self, count_type=None): + return 'int' if count_type is None else count_type + + +@Type.add_type('INT') +class TypeBufferOut(Type): + + def type_text(self, count_type=None): + return 'int' + + +@Type.add_type('AINT') +class TypeBufferOut(Type): + + def type_text(self, count_type=None): + return 'MPI_Aint' + + +@Type.add_type('INT_OUT') +class TypeBufferOut(Type): + + def type_text(self, count_type=None): + return 'int *' + + def parameter(self, count_type=None, **kwargs): + if self.count_param is None: + return f'int *{self.name}' + else: + return f'int {self.name}[]' + + +@Type.add_type('DOUBLE') +class TypeDouble(Type): + + def type_text(self, count_type=None): + return 'double' + + +@Type.add_type('ARGV') +class TypeArgv(Type): + + def type_text(self, count_type=None): + return 'char ***' + + +@Type.add_type('DATATYPE', abi_type=['ompi']) +class TypeDatatype(Type): + + def type_text(self, count_type=None): + return 'MPI_Datatype' + + +class StandardABIType(Type): + + @property + def tmpname(self): + return f'{self.name}_tmp' + + @property + def argument(self): + return self.tmpname + + +@Type.add_type('DATATYPE', abi_type=['standard']) +class TypeDatatype(StandardABIType): + + @property + def init_code(self): + return [f'MPI_Datatype {self.tmpname} = {ConvertFuncs.DATATYPE}({self.name});'] + + def type_text(self, count_type=None): + return self.mangle_name('MPI_Datatype') + + +@Type.add_type('OP', abi_type=['ompi']) +class TypeDatatype(Type): + + def type_text(self, count_type=None): + return 'MPI_Op' + + +@Type.add_type('OP', abi_type=['standard']) +class TypeDatatype(StandardABIType): + + @property + def init_code(self): + return [f'MPI_Op {self.tmpname} = {ConvertFuncs.OP}({self.name});'] + + def type_text(self, count_type=None): + return self.mangle_name('MPI_Op') + + +@Type.add_type('RANK') +class TypeRank(Type): + + def type_text(self, count_type=None): + return 'int' + + +@Type.add_type('TAG') +class TypeRank(Type): + + def type_text(self, count_type=None): + return 'int' + + +@Type.add_type('COMM', abi_type=['ompi']) +class TypeCommunicator(Type): + + def type_text(self, count_type=None): + return 'MPI_Comm' + + +@Type.add_type('COMM', abi_type=['standard']) +class TypeCommunicatorStandard(StandardABIType): + + @property + def init_code(self): + return [f'MPI_Comm {self.tmpname} = {ConvertFuncs.COMM}({self.name});'] + + def tmp_type_text(self, count_type=None): + return 'MPI_Comm' + + def return_code(self, name): + return [f'return {ConvertOMPIToStandard.COMM}({name});'] + + def type_text(self, count_type=None): + return self.mangle_name('MPI_Comm') + + +@Type.add_type('COMM_OUT', abi_type=['ompi']) +class TypeCommunicator(Type): + + def type_text(self, count_type=None): + return 'MPI_Comm *' + + +@Type.add_type('COMM_OUT', abi_type=['standard']) +class TypeCommunicator(Type): + + @property + def final_code(self): + return [f'*{self.name} = {ConvertOMPIToStandard.COMM}((MPI_Comm) *{self.name});'] + + def type_text(self, count_type=None): + type_name = self.mangle_name('MPI_Comm') + return f'{type_name} *' + + @property + def argument(self): + return f'(MPI_Comm *) {self.name}' + + +@Type.add_type('WIN', abi_type=['ompi']) +class TypeWindow(Type): + + def type_text(self, count_type=None): + return 'MPI_Win' + + +@Type.add_type('WIN', abi_type=['standard']) +class TypeWindowStandard(StandardABIType): + + @property + def init_code(self): + return [f'MPI_Win {self.tmpname} = {ConvertFuncs.WIN}({self.name});'] + + def type_text(self, count_type=None): + return self.mangle_name('MPI_Win') + + +@Type.add_type('REQUEST', abi_type=['ompi']) +class TypeRequest(Type): + + def type_text(self, count_type=None): + return 'MPI_Request' + + +@Type.add_type('REQUEST', abi_type=['standard']) +class TypeRequestStandard(Type): + + def type_text(self, count_type=None): + return self.mangle_name('MPI_Request') + + @property + def argument(self): + return f'(MPI_Request) {self.name}' + + +@Type.add_type('REQUEST_INOUT', abi_type=['ompi']) +class TypeRequestInOut(Type): + + def type_text(self, count_type=None): + return 'MPI_Request *' + + +@Type.add_type('REQUEST_INOUT', abi_type=['standard']) +class TypeRequestInOutStandard(Type): + + @property + def final_code(self): + if self.count_param is None: + return [f'{ConvertFuncs.REQUEST}({self.name});'] + else: + return [ + 'for (int i = 0; i < %s; ++i) {' % (self.count_param,), + f'{ConvertFuncs.REQUEST}(&{self.name}[i]);', + '}', + ] + + @property + def argument(self): + return f'(MPI_Request *) {self.name}' + + def type_text(self, count_type=None): + type_name = self.mangle_name('MPI_Request') + return f'{type_name} *' + + def parameter(self, count_type=None, **kwargs): + type_name = self.mangle_name('MPI_Request') + if self.count_param is None: + return f'{type_name} *{self.name}' + else: + return f'{type_name} {self.name}[]' + + +@Type.add_type('STATUS_OUT', abi_type=['ompi']) +class TypeStatusOut(Type): + + def type_text(self, count_type=None): + return 'MPI_Status *' + + def parameter(self, count_type=None, **kwargs): + if self.count_param is None: + return f'MPI_Status *{self.name}' + else: + return f'MPI_Status {self.name}[]' + + +@Type.add_type('STATUS_OUT', abi_type=['standard']) +class TypeStausOutStandard(StandardABIType): + + def if_should_set_status(self): + """Generate the condition to check if the status(es) should be set.""" + condition = ' && '.join(f'{self.mangle_name(const)} != {self.name}' + for const in IGNORED_STATUS_HANDLES) + return 'if (%s) {' % (condition,) + + @property + def status_argument(self): + return f'{self.name}_arg' + + @property + def init_code(self): + code = [f'MPI_Status *{self.status_argument} = NULL;'] + if self.count_param is None: + code.append(f'MPI_Status {self.tmpname};') + else: + code.append(f'MPI_Status *{self.tmpname} = NULL;') + code.append(self.if_should_set_status()) + if self.count_param is not None: + code.append(f'{self.tmpname} = malloc({self.count_param} * sizeof(MPI_Status));') + code.append(f'{self.status_argument} = {self.tmpname};') + else: + code.append(f'{self.status_argument} = &{self.tmpname};') + code.append('} else {') + if self.count_param is not None: + code.append(f'{self.status_argument} = MPI_STATUSES_IGNORE;') + else: + code.append(f'{self.status_argument} = MPI_STATUS_IGNORE;') + code.append('}') + return code + + @property + def final_code(self): + code = [self.if_should_set_status()] + if self.count_param is None: + code.append(f'{ConvertFuncs.STATUS}({self.name}, &{self.tmpname});') + else: + code.extend([ + 'for (int i = 0; i < %s; ++i) {' % (self.count_param,), + f'{ConvertFuncs.STATUS}(&{self.name}[i], &{self.tmpname}[i]);', + '}', + f'free({self.tmpname});', + ]) + code.append('}') + return code + + @property + def argument(self): + return self.status_argument + + def type_text(self, count_type=None): + type_name = self.mangle_name('MPI_Status') + return f'{type_name} *' + + def parameter(self, count_type=None, **kwargs): + type_name = self.mangle_name('MPI_Status') + if self.count_param is None: + return f'{type_name} *{self.name}' + else: + return f'{type_name} {self.name}[]' + + +# For now this just assumes that MPI_Fint doesn't need any conversions +@Type.add_type('FINT') +class TypeFint(Type): + + def type_text(self, count_type=None): + return 'MPI_Fint' + + +@Type.add_type('STRING') +class TypeString(Type): + + def type_text(self, count_type=None): + return 'const char *' + + +@Type.add_type('STRING_OUT') +class TypeStringOut(Type): + + def type_text(self, count_type=None): + return 'char *' + + +@Type.add_type('INFO', abi_type=['ompi']) +class TypeInfo(Type): + + def type_text(self, count_type=None): + return 'MPI_Info' + + +@Type.add_type('INFO', abi_type=['standard']) +class TypeInfoStandard(StandardABIType): + + @property + def init_code(self): + return [f'MPI_Info {self.tmpname} = {ConvertFuncs.INFO}({self.name});'] + + def type_text(self, count_type=None): + return self.mangle_name('MPI_Info') + + +@Type.add_type('FILE_OUT', abi_type=['ompi']) +class TypeFileOut(Type): + + def type_text(self, count_type=None): + return 'MPI_File *' + + +@Type.add_type('FILE_OUT', abi_type=['standard']) +class TypeFileOutStandard(Type): + + @property + def argument(self): + return f'(MPI_File *) {self.name}' + + @property + def final_code(self): + return [f'{ConvertFuncs.FILE}({self.name});'] + + def type_text(self, count_type=None): + type_name = self.mangle_name('MPI_File') + return f'{type_name} *' + + +class Prototype: + """MPI function prototype.""" + + def __init__(self, name, return_type, params): + self.name = name + self.return_type = return_type + self.params = params + + def signature(self, abi_type, fn_name, count_type=None, **kwargs): + """Build a signature with the given name and count_type.""" + params = ', '.join(param.construct(abi_type, **kwargs).parameter(count_type=count_type, **kwargs) + for param in self.params) + if not params: + params = 'void' + return_type_text = self.return_type.construct(abi_type, **kwargs).type_text(count_type=count_type) + return f'{return_type_text} {fn_name}({params})' + + @property + def need_bigcount(self): + """Check if a bigcount interface is required for a prototype.""" + return any('COUNT' in param.type_ for param in self.params) + + +class TemplateParseError(Exception): + """Error raised during parsing.""" + pass + + +def validate_body(body): + """Validate the body of a template.""" + # Just do a simple bracket balance test to determine the bounds of the + # function body. All lines after the function body should be blank. There + # are cases where this will break, such as if someone puts code all on one + # line. + bracket_balance = 0 + line_count = 0 + for line in body: + line = line.strip() + if bracket_balance == 0 and line_count > 0 and line: + raise TemplateParseError('Extra code found in template; only one function body is allowed') + + update = line.count('{') - line.count('}') + bracket_balance += update + if bracket_balance != 0: + line_count += 1 + + if bracket_balance != 0: + raise TemplateParseError('Mismatched brackets found in template') + + +class SourceTemplate: + """Source template for a single API function.""" + + def __init__(self, prototype, header, body): + self.prototype = prototype + self.header = header + self.body = body + + @staticmethod + def load(fname, prefix=None): + """Load a template file and return the SourceTemplate.""" + if prefix is not None: + fname = os.path.join(prefix, fname) + with open(fname) as fp: + header = [] + prototype = [] + body = [] + + for line in fp: + line = line.rstrip() + if prototype and line.startswith('PROTOTYPE'): + raise TemplateParseError('more than one prototype found in template file') + elif ((prototype and not any(')' in s for s in prototype)) + or line.startswith('PROTOTYPE')): + prototype.append(line) + elif prototype: + # Validate bracket balance + body.append(line) + else: + header.append(line) + + if not prototype: + raise RuntimeError('missing prototype') + # Parse the prototype + prototype = ''.join(prototype) + prototype = prototype[len('PROTOTYPE'):] + i = prototype.index('(') + j = prototype.index(')') + return_type, name = prototype[:i].split() + return_type = ReturnType(return_type) + params = [param.strip() for param in prototype[i + 1:j].split(',') if param.strip()] + params = [Parameter(param) for param in params] + prototype = Prototype(name, return_type, params) + # Ensure the body contains only one function + validate_body(body) + return SourceTemplate(prototype, header, body) + + def print_header(self, file=sys.stdout): + """Print the source header.""" + for line in self.header: + print(line, file=file) + + def print_body(self, func_name, file=sys.stdout): + """Print the body.""" + for line in self.body: + # FUNC_NAME is used for error messages + line = line.replace('FUNC_NAME', f'"{func_name}"') + print(line, file=file) + + +def print_profiling_header(fn_name, file=sys.stdout): + """Print the profiling header code.""" + print('#if OMPI_BUILD_MPI_PROFILING') + print('#if OPAL_HAVE_WEAK_SYMBOLS', file=file) + print(f'#pragma weak {fn_name} = P{fn_name}', file=file) + print('#endif', file=file) + print(f'#define {fn_name} P{fn_name}', file=file) + print('#endif') + + +def ompi_abi(base_name, template): + """Generate the OMPI ABI functions.""" + template.print_header() + print_profiling_header(base_name) + print(template.prototype.signature('ompi', base_name)) + template.print_body(func_name=base_name) + # Check if we need to generate the bigcount interface + if template.prototype.need_bigcount: + base_name_c = f'{base_name}_c' + print_profiling_header(base_name_c) + print(template.prototype.signature('ompi', base_name_c, count_type='MPI_Count')) + template.print_body(func_name=base_name_c) + + +ABI_INTERNAL_HEADER = 'ompi/mpi/c/abi.h' + + +def indent_lines(lines, tab, start=0): + """Crude pretty-printing function.""" + new_lines = [] + indent_count = start + for line in lines: + # Closing bracket + if '}' in line: + indent_count -= 1 + + prefix = indent_count * tab + new_lines.append(f'{prefix}{line}') + + # Opening bracket + if '{' in line: + indent_count += 1 + return new_lines + + +def standard_abi(base_name, template): + """Generate the standard ABI functions.""" + template.print_header() + print(f'#include "{ABI_INTERNAL_HEADER}"') + + # Static internal function (add a random component to avoid conflicts) + internal_name = f'ompi_abi_{template.prototype.name}' + internal_sig = template.prototype.signature('ompi', internal_name, + count_type='MPI_Count') + print(INLINE_ATTRS, internal_sig) + template.print_body(func_name=base_name) + + def generate_function(prototype, fn_name, internal_fn, count_type='int'): + """Generate a function for the standard ABI.""" + print_profiling_header(fn_name) + + # Handle type conversions and arguments + params = [param.construct('standard') for param in prototype.params] + print(prototype.signature('standard', fn_name, count_type=count_type)) + print('{') + lines = [] + return_type = prototype.return_type.construct('standard') + lines.append(f'{return_type.tmp_type_text()} ret_value;') + for param in params: + if param.init_code: + lines.extend(param.init_code) + pass_args = ', '.join(param.argument for param in params) + lines.append(f'ret_value = {internal_fn}({pass_args});') + for param in params: + if param.final_code: + lines.extend(param.final_code) + lines.extend(return_type.return_code('ret_value')) + + # Indent the lines + lines = indent_lines(lines, 4 * ' ', start=1) + for line in lines: + print(line) + print('}') + + generate_function(template.prototype, base_name, internal_name) + if template.prototype.need_bigcount: + base_name_c = f'{base_name}_c' + generate_function(template.prototype, base_name_c, internal_name, + count_type='MPI_Count') + + +def gen_header(args): + """Generate an ABI header and conversion code.""" + prototypes = [SourceTemplate.load(file_, args.srcdir).prototype for file_ in args.file] + + builder = ABIHeaderBuilder(prototypes, external=args.external) + builder.dump_header() + + +def gen_source(args): + """Generate source file.""" + template = SourceTemplate.load(args.source_file) + + base_name = mpi_fn_name_from_base_fn_name(template.prototype.name) + if args.type == 'ompi': + ompi_abi(base_name, template) + else: + standard_abi(base_name, template) + + +def main(): + if len(sys.argv) < 2: + # Fix required for Python 3.6 + print('ERROR: missing subparser argument (see --help)') + sys.exit(1) + + parser = argparse.ArgumentParser(description='generate ABI header file and conversion code') + subparsers = parser.add_subparsers() + + parser_header = subparsers.add_parser('header') + parser_header.add_argument('file', nargs='+', help='list of template source files') + parser_header.add_argument('--external', action='store_true', help='generate external mpi.h header file') + parser_header.add_argument('--srcdir', help='source directory') + parser_header.set_defaults(func=gen_header) + + parser_gen = subparsers.add_parser('source') + # parser = argparse.ArgumentParser(description='C ABI binding generation code') + parser_gen.add_argument('type', choices=('ompi', 'standard'), + help='generate the OMPI ABI functions or the standard ABI functions') + parser_gen.add_argument('source_file', help='source template file') + parser_gen.set_defaults(func=gen_source) + + args = parser.parse_args() + + # Always add the header + print('/* THIS FILE WAS AUTOGENERATED BY ompi/mpi/c/abi.py. DO NOT EDIT BY HAND. */') + args.func(args) + + +if __name__ == '__main__': + main() diff --git a/ompi/mpi/c/abi_details.c b/ompi/mpi/c/abi_details.c new file mode 100644 index 00000000000..8dfc7b6e629 --- /dev/null +++ b/ompi/mpi/c/abi_details.c @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2023 Triad National Security, LLC. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include + +#include "opal/util/show_help.h" +#include "ompi/runtime/ompi_spc.h" +#include "ompi/mpi/c/bindings.h" +#include "ompi/communicator/communicator.h" +#include "ompi/errhandler/errhandler.h" +#include "ompi/constants.h" +#ifdef OMPI_NO_MPI_PROTOTYPES +#include "ompi/mpi/c/abi.h" +#endif + +static const char ABI_DETAILS[] = "Open MPI Standard ABI 0.1"; + +int MPI_Abi_details(int *buflen, char *details, MPI_Info *info) +{ + if (*buflen >= (int) sizeof(ABI_DETAILS)) { + strcpy(details, ABI_DETAILS); + *buflen = sizeof(ABI_DETAILS); + return MPI_SUCCESS; + } else { + *buflen = 0; + return MPI_ERR_BUFFER; + } +} diff --git a/ompi/mpi/c/abi_supported.c b/ompi/mpi/c/abi_supported.c new file mode 100644 index 00000000000..b8b977962ba --- /dev/null +++ b/ompi/mpi/c/abi_supported.c @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2023 Triad National Security, LLC. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include + +#include "opal/util/show_help.h" +#include "ompi/runtime/ompi_spc.h" +#include "ompi/mpi/c/bindings.h" +#include "ompi/communicator/communicator.h" +#include "ompi/errhandler/errhandler.h" +#include "ompi/constants.h" +#ifdef OMPI_NO_MPI_PROTOTYPES +#include "ompi/mpi/c/abi.h" +#endif + +int MPI_Abi_supported(int *flag) +{ + *flag = 1; + return MPI_SUCCESS; +} diff --git a/ompi/mpi/c/abi_version.c b/ompi/mpi/c/abi_version.c new file mode 100644 index 00000000000..33d32854893 --- /dev/null +++ b/ompi/mpi/c/abi_version.c @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2023 Triad National Security, LLC. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include + +#include "opal/util/show_help.h" +#include "ompi/runtime/ompi_spc.h" +#include "ompi/mpi/c/bindings.h" +#include "ompi/communicator/communicator.h" +#include "ompi/errhandler/errhandler.h" +#include "ompi/constants.h" +#ifdef OMPI_NO_MPI_PROTOTYPES +#include "ompi/mpi/c/abi.h" +#endif + +int MPI_Abi_version(int *abi_major, int *abi_minor) +{ + /* 0.1 */ + *abi_major = 0; + *abi_minor = 1; + return MPI_SUCCESS; +} diff --git a/ompi/mpi/c/status_c2f.c.in b/ompi/mpi/c/status_c2f.c.in index d430bc7964f..9d4774a7cf7 100644 --- a/ompi/mpi/c/status_c2f.c.in +++ b/ompi/mpi/c/status_c2f.c.in @@ -33,11 +33,10 @@ #include "ompi/mpi/fortran/base/fint_2_int.h" #include "ompi/mpi/fortran/base/constants.h" #include "ompi/memchecker.h" +#include "ompi/util/status.h" PROTOTYPE ERROR_CLASS status_c2f(STATUS c_status, FINT_OUT f_status) { - const int *c_ints; - int i; MEMCHECKER( if(c_status != MPI_STATUSES_IGNORE) { /* @@ -61,33 +60,5 @@ PROTOTYPE ERROR_CLASS status_c2f(STATUS c_status, FINT_OUT f_status) MPI_ERR_IN_STATUS, FUNC_NAME); } } - - /* Note that MPI-2.2 16.3.5 states that even the hidden data in a - status must be converted (!). This is somewhat problematic - because the Fortran data is all INTEGERS while the C MPI_Status - contains a size_t. That being said, note 2 things: - - 1. The _ucount and _canceled members are never accessed from - Fortran. - 2. configure calculated a value of MPI_STATUS_SIZE to ensure - that the Fortran status is the Right size to hold the C - MPI_Status (including the size_t member). - - So for the purposes of this function, just copy over all the - data as if they were int's. This works because all OMPI - Fortran MPI API functions that take a status as an IN argument - first call MPI_Status_f2c on it before using it (in which case - we'll do the exact opposite copy, thereby rebuilding the size_t - value properly before it is accessed in C). - - Note that if sizeof(int) > sizeof(INTEGER), we're potentially - hosed anyway (i.e., even the public values in the status could - get truncated). But if sizeof(int) == sizeof(INTEGER) or - sizeof(int) < sizeof(INTEGER), everything should be kosher. */ - c_ints = (const int*)c_status; - for( i = 0; i < (int)(sizeof(MPI_Status) / sizeof(int)); i++ ) { - f_status[i] = OMPI_INT_2_FINT(c_ints[i]); - } - - return MPI_SUCCESS; + return ompi_status_c2f(c_status, f_status); } diff --git a/ompi/mpi/c/status_f2c.c.in b/ompi/mpi/c/status_f2c.c.in index 3216193e3e9..c7e6f7ac700 100644 --- a/ompi/mpi/c/status_f2c.c.in +++ b/ompi/mpi/c/status_f2c.c.in @@ -31,11 +31,10 @@ #include "ompi/errhandler/errhandler.h" #include "ompi/mpi/fortran/base/fint_2_int.h" #include "ompi/mpi/fortran/base/constants.h" +#include "ompi/util/status.h" PROTOTYPE ERROR_CLASS status_f2c(FINT_CONST f_status, STATUS_OUT c_status) { - int i, *c_ints; - if (MPI_PARAM_CHECK) { OMPI_ERR_INIT_FINALIZE(FUNC_NAME); @@ -57,17 +56,5 @@ PROTOTYPE ERROR_CLASS status_f2c(FINT_CONST f_status, STATUS_OUT c_status) } } - /* ***NOTE*** See huge comment in status_c2f.c (yes, I know - there's a size_t member in the C MPI_Status -- go - read that comment for an explanation why copying - everything as a bunch of int's is ok). - - We can't use OMPI_FINT_2_INT here because of some complications - with include files. :-( So just do the casting manually. */ - c_ints = (int*)c_status; - for( i = 0; i < (int)(sizeof(MPI_Status) / sizeof(int)); i++ ) { - c_ints[i] = (int)f_status[i]; - } - - return MPI_SUCCESS; + return ompi_status_f2c(f_status, c_status); } diff --git a/ompi/mpi/c/wtime.c.in b/ompi/mpi/c/wtime.c.in index e31db4d630e..cc22d427142 100644 --- a/ompi/mpi/c/wtime.c.in +++ b/ompi/mpi/c/wtime.c.in @@ -45,7 +45,7 @@ * and accuracy of the user visible timer. * More info: https://github.com/mpi-forum/mpi-issues/issues/77#issuecomment-369663119 */ -extern struct timespec ompi_wtime_time_origin; +extern struct timespec ompi_wtime_time_origin = {.tv_sec = 0}; PROTOTYPE DOUBLE wtime() { diff --git a/ompi/mpiext/Makefile.am b/ompi/mpiext/Makefile.am index bbbdec3531c..e23729b2e91 100644 --- a/ompi/mpiext/Makefile.am +++ b/ompi/mpiext/Makefile.am @@ -16,5 +16,5 @@ headers += \ mpiext/mpiext.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ mpiext/mpiext.c diff --git a/ompi/op/Makefile.am b/ompi/op/Makefile.am index 5599c31311b..db4e92736a2 100644 --- a/ompi/op/Makefile.am +++ b/ompi/op/Makefile.am @@ -24,4 +24,4 @@ headers += op/op.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += op/op.c +libopen_mpi_la_SOURCES += op/op.c diff --git a/ompi/peruse/Makefile.am b/ompi/peruse/Makefile.am index 9b2d043ce43..aee74cc436c 100644 --- a/ompi/peruse/Makefile.am +++ b/ompi/peruse/Makefile.am @@ -21,7 +21,7 @@ if WANT_PERUSE # do NOT want this nobase - we want the peruse stripped off... include_HEADERS += peruse/peruse.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ peruse/peruse.c \ peruse/peruse_module.c endif diff --git a/ompi/proc/Makefile.am b/ompi/proc/Makefile.am index e9ad85d6f73..b10d46e37cf 100644 --- a/ompi/proc/Makefile.am +++ b/ompi/proc/Makefile.am @@ -23,5 +23,5 @@ headers += \ proc/proc.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ proc/proc.c diff --git a/ompi/request/Makefile.am b/ompi/request/Makefile.am index ab7bf73fe80..c30da608d08 100644 --- a/ompi/request/Makefile.am +++ b/ompi/request/Makefile.am @@ -34,18 +34,18 @@ headers += \ request/grequestx.h endif -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ request/grequest.c \ request/request.c \ request/req_test.c \ request/req_wait.c if WANT_FT_MPI -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ request/req_ft.c endif # WANT_FT_MPI if OMPI_ENABLE_GREQUEST_EXTENSIONS -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ request/grequestx.c endif diff --git a/ompi/request/grequest.c b/ompi/request/grequest.c index 6125d134a9c..2338f8e0e71 100644 --- a/ompi/request/grequest.c +++ b/ompi/request/grequest.c @@ -23,6 +23,7 @@ #include "ompi/communicator/communicator.h" #include "ompi/request/grequest.h" #include "ompi/mpi/fortran/base/fint_2_int.h" +#include "ompi/util/status.h" /** * Internal function to specialize the call to the user provided free_fn @@ -262,9 +263,9 @@ int ompi_grequest_invoke_query(ompi_request_t *request, */ MPI_Fint ierr; MPI_Fint fstatus[sizeof(MPI_Status) / sizeof(int)]; - MPI_Status_c2f(status, fstatus); + ompi_status_c2f(status, fstatus); g->greq_query.f_query((MPI_Aint*)g->greq_state, fstatus, &ierr); - MPI_Status_f2c(fstatus, status); + ompi_status_f2c(fstatus, status); rc = OMPI_FINT_2_INT(ierr); } } diff --git a/ompi/runtime/Makefile.am b/ompi/runtime/Makefile.am index 957045ed116..225284b6066 100644 --- a/ompi/runtime/Makefile.am +++ b/ompi/runtime/Makefile.am @@ -31,7 +31,7 @@ headers += \ runtime/ompi_spc.h \ runtime/ompi_rte.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ runtime/ompi_mpi_init.c \ runtime/ompi_mpi_abort.c \ runtime/ompi_mpi_dynamics.c \ diff --git a/ompi/tools/wrappers/Makefile.am b/ompi/tools/wrappers/Makefile.am index 1d5b24a9372..f1482ff4164 100644 --- a/ompi/tools/wrappers/Makefile.am +++ b/ompi/tools/wrappers/Makefile.am @@ -89,7 +89,7 @@ if OMPI_WANT_JAVA_BINDINGS bin_SCRIPTS = mpijavac.pl endif -nodist_ompidata_DATA = mpicc-wrapper-data.txt +nodist_ompidata_DATA = mpicc-wrapper-data.txt mpicc_abi-wrapper-data.txt if OMPI_HAVE_CXX_COMPILER nodist_ompidata_DATA += mpic++-wrapper-data.txt @@ -102,6 +102,7 @@ endif install-exec-hook-always: test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" (cd $(DESTDIR)$(bindir); rm -f mpicc$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) mpicc$(EXEEXT)) + (cd $(DESTDIR)$(bindir); rm -f mpicc_abi$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) mpicc_abi$(EXEEXT)) if OMPI_HAVE_CXX_COMPILER (cd $(DESTDIR)$(bindir); rm -f mpic++$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) mpic++$(EXEEXT)) (cd $(DESTDIR)$(bindir); rm -f mpicxx$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) mpicxx$(EXEEXT)) diff --git a/ompi/tools/wrappers/mpicc_abi-wrapper-data.txt.in b/ompi/tools/wrappers/mpicc_abi-wrapper-data.txt.in new file mode 100644 index 00000000000..916036f931e --- /dev/null +++ b/ompi/tools/wrappers/mpicc_abi-wrapper-data.txt.in @@ -0,0 +1,26 @@ +# There can be multiple blocks of configuration data, chosen by +# compiler flags (using the compiler_args key to chose which block +# should be activated. This can be useful for multilib builds. See the +# multilib page at: +# https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +# for more information. + +project=Open MPI +project_short=OMPI +version=@OMPI_VERSION@ +language=C +compiler_env=CC +compiler_flags_env=CFLAGS +compiler=@WRAPPER_CC@ +preprocessor_flags=-I${includedir}/standard_abi +compiler_flags_prefix=@OMPI_WRAPPER_CFLAGS_PREFIX@ +compiler_flags=@OMPI_WRAPPER_CFLAGS@ +linker_flags=@OMPI_WRAPPER_LDFLAGS@ +linker_flags_static=@OMPI_WRAPPER_LDFLAGS_STATIC@ +libs=-lmpi_abi +libs_static= +dyn_lib_file=libmpi_abi.@OPAL_DYN_LIB_SUFFIX@ +static_lib_file=libmpi_abi.a +required_file= +includedir=${includedir} +libdir=${libdir} diff --git a/ompi/util/Makefile.am b/ompi/util/Makefile.am index 53a89a074eb..70df3bed6a3 100644 --- a/ompi/util/Makefile.am +++ b/ompi/util/Makefile.am @@ -11,4 +11,5 @@ # Source code files headers += \ util/timings.h \ - util/count_disp_array.h + util/count_disp_array.h \ + util/status.h diff --git a/ompi/util/status.h b/ompi/util/status.h new file mode 100644 index 00000000000..c1089df5f5c --- /dev/null +++ b/ompi/util/status.h @@ -0,0 +1,56 @@ +#include "ompi/mpi/fortran/base/fint_2_int.h" +#include "ompi/mpi/fortran/base/constants.h" + +static inline int ompi_status_c2f(const MPI_Status *c_status, MPI_Fint *f_status) +{ + const int *c_ints; + int i; + + /* Note that MPI-2.2 16.3.5 states that even the hidden data in a + status must be converted (!). This is somewhat problematic + because the Fortran data is all INTEGERS while the C MPI_Status + contains a size_t. That being said, note 2 things: + + 1. The _ucount and _canceled members are never accessed from + Fortran. + 2. configure calculated a value of MPI_STATUS_SIZE to ensure + that the Fortran status is the Right size to hold the C + MPI_Status (including the size_t member). + + So for the purposes of this function, just copy over all the + data as if they were int's. This works because all OMPI + Fortran MPI API functions that take a status as an IN argument + first call MPI_Status_f2c on it before using it (in which case + we'll do the exact opposite copy, thereby rebuilding the size_t + value properly before it is accessed in C). + + Note that if sizeof(int) > sizeof(INTEGER), we're potentially + hosed anyway (i.e., even the public values in the status could + get truncated). But if sizeof(int) == sizeof(INTEGER) or + sizeof(int) < sizeof(INTEGER), everything should be kosher. */ + c_ints = (const int*)c_status; + for( i = 0; i < (int)(sizeof(MPI_Status) / sizeof(int)); i++ ) { + f_status[i] = OMPI_INT_2_FINT(c_ints[i]); + } + + return MPI_SUCCESS; +} + +static inline int ompi_status_f2c(const MPI_Fint *f_status, MPI_Status *c_status) +{ + int i, *c_ints; + + /* ***NOTE*** See huge comment in status_c2f.c (yes, I know + there's a size_t member in the C MPI_Status -- go + read that comment for an explanation why copying + everything as a bunch of int's is ok). + + We can't use OMPI_FINT_2_INT here because of some complications + with include files. :-( So just do the casting manually. */ + c_ints = (int*)c_status; + for( i = 0; i < (int)(sizeof(MPI_Status) / sizeof(int)); i++ ) { + c_ints[i] = (int)f_status[i]; + } + + return MPI_SUCCESS; +} diff --git a/ompi/win/Makefile.am b/ompi/win/Makefile.am index 67126c71ec0..8675e77b63e 100644 --- a/ompi/win/Makefile.am +++ b/ompi/win/Makefile.am @@ -23,5 +23,5 @@ headers += \ win/win.h -lib@OMPI_LIBMPI_NAME@_la_SOURCES += \ +libopen_mpi_la_SOURCES += \ win/win.c From 991457e741a915fa822432813af513546db30502 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Sat, 10 May 2025 16:06:15 -0600 Subject: [PATCH 02/14] Move ABI support into big count binding code Implement lots of missing functionality in the original api.py script. The functionality is now part of the bindings generation framework used for Big Count. Number of todos still to do, in particular provide support for wrapping user supplied callback functions. Also, the sendrecv_replace, etc. code needs to be refactored to work with the bindings framework. Signed-off-by: Howard Pritchard --- config/ompi_configure_options.m4 | 6 + ompi/Makefile.am | 14 +- ompi/include/mpi.h.in | 2 + ompi/mpi/bindings/ompi_bindings/c.py | 118 +++++++- ompi/mpi/bindings/ompi_bindings/c_type.py | 346 ++++++++++++++++++---- ompi/mpi/bindings/ompi_bindings/consts.py | 41 ++- ompi/mpi/bindings/ompi_bindings/parser.py | 3 + ompi/mpi/c/Makefile.am | 76 +++-- ompi/mpi/c/comm_spawn_multiple.c.in | 2 +- ompi/mpi/c/file_close.c.in | 2 +- ompi/mpi/c/isendrecv_replace.c.in | 10 +- ompi/mpi/c/session_finalize.c.in | 2 +- ompi/mpi/c/type_create_struct.c.in | 2 +- ompi/mpi/c/win_create_errhandler.c.in | 2 +- ompi/mpi/c/{win_f2c.c => win_f2c.c.in} | 11 +- ompi/mpi/c/wtime.c.in | 2 +- 16 files changed, 503 insertions(+), 136 deletions(-) rename ompi/mpi/c/{win_f2c.c => win_f2c.c.in} (88%) diff --git a/config/ompi_configure_options.m4 b/config/ompi_configure_options.m4 index 83606e2c555..72a84353394 100644 --- a/config/ompi_configure_options.m4 +++ b/config/ompi_configure_options.m4 @@ -256,6 +256,12 @@ AM_CONDITIONAL(OMPI_OMPIO_SUPPORT, test "$ompi_want_ompio" = "1") AC_ARG_ENABLE([deprecate-mpif-h], [AS_HELP_STRING([--enable-deprecate-mpif-h], [Mark the mpif.h bindings as deprecated (default: enabled)])]) +# If the binding source files don't exist, then we need Python to generate them +AM_PATH_PYTHON([3.6],,[:]) +binding_file="${srcdir}/ompi/mpi/c/ompi_send_generated.c" +AS_IF([! test -e "$binding_file" && test "$PYTHON" = ":"], + [AC_MSG_ERROR([Open MPI requires Python >=3.6 for generating the bindings. Aborting])]) +AM_CONDITIONAL(OMPI_GENERATE_BINDINGS,[test "$PYTHON" != ":"]) AC_MSG_CHECKING([if want to enable standard ABI library]) AC_ARG_ENABLE([standard-abi], diff --git a/ompi/Makefile.am b/ompi/Makefile.am index a839ab1bff4..14857566c9b 100644 --- a/ompi/Makefile.am +++ b/ompi/Makefile.am @@ -126,7 +126,7 @@ DIST_SUBDIRS = \ $(MCA_ompi_FRAMEWORKS_SUBDIRS) \ $(MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS) -noinst_LTLIBRARIES = libopen-mpi.la +noinst_LTLIBRARIES = libopen_mpi.la lib_LTLIBRARIES = lib@OMPI_LIBMPI_NAME@.la if OMPI_STANDARD_ABI lib_LTLIBRARIES += libmpi_abi.la @@ -142,14 +142,14 @@ endif # +----------------------+----------------------+ # | libmpi_abi.la | libmpi.la | # +----------------------+----------------------+ -# | libopen-mpi.la | +# | libopen_mpi.la | # +----------------------+----------------------+ # -# This includes a new library, libopen-mpi.la, that links in all backend code +# This includes a new library, libopen_mpi.la, that links in all backend code # built in this directory or SUBDIRs of this directory. Previously everything # was just linked directly into libmpi.la (lib@OMPI_LIBMPI_NAME@.la). # -# libmpi_abi.la and libmpi.la both now link in libopen-mpi.la, the only +# libmpi_abi.la and libmpi.la both now link in libopen_mpi.la, the only # difference between them being that one includes the standard ABI functions # and the other the ompi-specific versions of those. # @@ -167,7 +167,7 @@ libopen_mpi_la_DEPENDENCIES = $(libopen_mpi_la_LIBADD) # Build the main MPI library lib@OMPI_LIBMPI_NAME@_la_SOURCES = lib@OMPI_LIBMPI_NAME@_la_LIBADD = \ - libopen-mpi.la \ + libopen_mpi.la \ mpi/c/libmpi_c.la \ mpi/tool/libmpi_mpit.la \ $(c_mpi_lib) \ @@ -182,16 +182,16 @@ lib@OMPI_LIBMPI_NAME@_la_LDFLAGS = \ # The MPI Standard ABI library libmpi_abi_la_SOURCES = libmpi_abi_la_LIBADD = \ - libopen-mpi.la \ + libopen_mpi.la \ mpi/c/libmpi_c_abi.la # included subdirectory Makefile.am's and appended-to variables headers = -noinst_LTLIBRARIES = include_HEADERS = EXTRA_DIST = lib@OMPI_LIBMPI_NAME@_la_SOURCES += $(headers) dist_ompidata_DATA = +libopen_mpi_la_SOURCES += $(headers) # Conditionally install the header files diff --git a/ompi/include/mpi.h.in b/ompi/include/mpi.h.in index dcf20db7262..f9ded080d7c 100644 --- a/ompi/include/mpi.h.in +++ b/ompi/include/mpi.h.in @@ -1433,6 +1433,7 @@ OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub; /* * MPI API */ +#ifndef OMPI_NO_MPI_PROTOTYPES OMPI_DECLSPEC int MPI_Abi_supported(int *flag); OMPI_DECLSPEC int MPI_Abi_version(int *abi_major, int *abi_minor); OMPI_DECLSPEC int MPI_Abi_details(int *buflen, char *details, MPI_Info *info); @@ -4093,6 +4094,7 @@ OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub) #endif /* OMPI_NO_MPI_PROTOTYPES */ + #if defined(c_plusplus) || defined(__cplusplus) } #endif diff --git a/ompi/mpi/bindings/ompi_bindings/c.py b/ompi/mpi/bindings/ompi_bindings/c.py index 362f481d11b..bc515fd21b5 100644 --- a/ompi/mpi/bindings/ompi_bindings/c.py +++ b/ompi/mpi/bindings/ompi_bindings/c.py @@ -137,18 +137,57 @@ def generate_comm_convert_fn_intern_to_abi(self): def generate_info_convert_fn(self): self.generic_convert(ConvertFuncs.INFO, 'info', 'MPI_Info', consts.RESERVED_INFOS) + def generate_info_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.INFO, 'info', 'MPI_Info', consts.RESERVED_INFOS) + + def generate_file_convert_fn(self): + self.generic_convert(ConvertFuncs.FILE, 'file', 'MPI_File', consts.RESERVED_FILES) + def generate_file_convert_fn_intern_to_abi(self): - self.generic_convert_reverse(ConvertFuncs.FILE, 'file', 'MPI_File', consts.RESERVED_FILES) + self.generic_convert_reverse(ConvertOMPIToStandard.FILE, 'file', 'MPI_File', consts.RESERVED_FILES) def generate_datatype_convert_fn(self): self.generic_convert(ConvertFuncs.DATATYPE, 'datatype', 'MPI_Datatype', consts.PREDEFINED_DATATYPES) + def generate_datatype_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.DATATYPE, 'datatype', 'MPI_Datatype', consts.PREDEFINED_DATATYPES) + + def generate_errhandler_convert_fn(self): + self.generic_convert(ConvertFuncs.ERRHANDLER, 'errorhandler', 'MPI_Errhandler', consts.RESERVED_ERRHANDLERS) + + def generate_errhandler_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.ERRHANDLER, 'errorhandler', 'MPI_Errhandler', consts.RESERVED_ERRHANDLERS) + + def generate_group_convert_fn(self): + self.generic_convert(ConvertFuncs.GROUP, 'group', 'MPI_Group', consts.RESERVED_GROUPS) + + def generate_group_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.GROUP, 'group', 'MPI_Group', consts.RESERVED_GROUPS) + + def generate_message_convert_fn(self): + self.generic_convert(ConvertFuncs.MESSAGE, 'message', 'MPI_Message', consts.RESERVED_MESSAGES) + + def generate_message_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.MESSAGE, 'message', 'MPI_Message', consts.RESERVED_MESSAGES) + def generate_op_convert_fn(self): self.generic_convert(ConvertFuncs.OP, 'op', 'MPI_Op', consts.COLLECTIVE_OPERATIONS) + def generate_op_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.OP, 'op', 'MPI_Op', consts.RESERVED_OPS) + + def generate_session_convert_fn(self): + self.generic_convert(ConvertFuncs.SESSION, 'session', 'MPI_Session', consts.RESERVED_SESSIONS) + + def generate_session_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.SESSION, 'session', 'MPI_Session', consts.RESERVED_SESSIONS) + def generate_win_convert_fn(self): self.generic_convert(ConvertFuncs.WIN, 'win', 'MPI_Win', consts.RESERVED_WINDOWS) + def generate_win_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.WIN, 'win', 'MPI_Win', consts.RESERVED_WINDOWS) + def generate_pointer_convert_fn(self, type_, fn_name, constants): abi_type = self.mangle_name(type_) self.dump(f'{consts.INLINE_ATTRS} void {fn_name}({abi_type} *ptr)') @@ -168,13 +207,16 @@ def generate_pointer_convert_fn(self, type_, fn_name, constants): def generate_request_convert_fn(self): self.generate_pointer_convert_fn('MPI_Request', ConvertFuncs.REQUEST, consts.RESERVED_REQUESTS) - def generate_file_convert_fn(self): - self.generate_pointer_convert_fn('MPI_File', ConvertFuncs.FILE, consts.RESERVED_FILES) + def generate_request_convert_fn_intern_to_abi(self): + self.generic_convert_reverse(ConvertOMPIToStandard.REQUEST, 'request', 'MPI_Request', consts.RESERVED_REQUESTS) + +# def generate_file_convert_fn(self): +# self.generate_pointer_convert_fn('MPI_File', ConvertFuncs.FILE, consts.RESERVED_FILES) def generate_status_convert_fn(self): type_ = 'MPI_Status' abi_type = self.mangle_name(type_) - self.dump(f'{consts.INLINE_ATTRS} void {ConvertFuncs.STATUS}({abi_type} *out, {type_} *inp)') + self.dump(f'{consts.INLINE_ATTRS} void {ConvertFuncs.STATUS}({type_} *out, {abi_type} *inp)') self.dump('{') self.dump(' out->MPI_SOURCE = inp->MPI_SOURCE;') self.dump(' out->MPI_TAG = inp->MPI_TAG;') @@ -182,6 +224,17 @@ def generate_status_convert_fn(self): # Ignoring the private fields for now self.dump('}') + def generate_status_convert_fn_intern_to_abi(self): + type_ = 'MPI_Status' + abi_type = self.mangle_name(type_) + self.dump(f'{consts.INLINE_ATTRS} void {ConvertOMPIToStandard.STATUS}({abi_type} *out, {type_} *inp)') + self.dump('{') + self.dump(' out->MPI_SOURCE = inp->MPI_SOURCE;') + self.dump(' out->MPI_TAG = inp->MPI_TAG;') +# self.dump(f' out->MPI_ERROR = {ConvertOMPIToStandard.ERROR_CLASS}(inp->MPI_ERROR);') + # Ignoring the private fields for now + self.dump('}') + def define(self, type_, name, value): self.dump(f'#define {name} OMPI_CAST_CONSTANT({type_}, {value})') @@ -217,12 +270,17 @@ def dump_header(self): self.dump() self.define_all('MPI_Datatype', consts.PREDEFINED_DATATYPES) - self.define_all('MPI_Op', COLLECTIVE_OPERATIONS) + self.define_all('MPI_Op', consts.COLLECTIVE_OPERATIONS) + self.define_all('MPI_Op', consts.RESERVED_OPS) self.define_all('MPI_Comm', consts.RESERVED_COMMUNICATORS) + self.define_all('MPI_Errhandler', consts.RESERVED_ERRHANDLERS) + self.define_all('MPI_Group', consts.RESERVED_GROUPS) self.define_all('MPI_Request', consts.RESERVED_REQUESTS) + self.define_all('MPI_Session', consts.RESERVED_SESSIONS) self.define_all('MPI_Win', consts.RESERVED_WINDOWS) self.define_all('MPI_Info', consts.RESERVED_INFOS) self.define_all('MPI_File', consts.RESERVED_FILES) + self.define_all('MPI_Message', consts.RESERVED_MESSAGES) for name, value in consts.VARIOUS_CONSTANTS.items(): self.dump(f'#define {self.mangle_name(name)} {value}') @@ -255,9 +313,13 @@ def dump_header(self): };""") self.dump(f'typedef struct MPI_Status_ABI {self.mangle_name("MPI_Status")};') self.dump() + # user functions + self.dump('typedef int (MPI_Copy_function)(MPI_Comm_ABI_INTERNAL, int, void *, void *, void *, int *);') + self.dump('typedef int (MPI_Delete_function)(MPI_Comm_ABI_INTERNAL, int, void *, void *);') # Function signatures for sig in self.signatures: self.dump(f'{sig};') +# print("Working on signature " + str(sig)) self.dump('int MPI_Abi_details(int *buflen, char *details, MPI_Info *info);') self.dump('int MPI_Abi_supported(int *flag);') self.dump('int MPI_Abi_version(int *abi_major, int *abi_minor);') @@ -267,12 +329,27 @@ def dump_header(self): self.generate_comm_convert_fn() self.generate_comm_convert_fn_intern_to_abi() self.generate_info_convert_fn() + self.generate_info_convert_fn_intern_to_abi() self.generate_file_convert_fn() + self.generate_file_convert_fn_intern_to_abi() + self.generate_group_convert_fn() + self.generate_group_convert_fn_intern_to_abi() self.generate_datatype_convert_fn() + self.generate_datatype_convert_fn_intern_to_abi() + self.generate_errhandler_convert_fn() + self.generate_errhandler_convert_fn_intern_to_abi() + self.generate_message_convert_fn() + self.generate_message_convert_fn_intern_to_abi() self.generate_op_convert_fn() + self.generate_op_convert_fn_intern_to_abi() + self.generate_session_convert_fn() + self.generate_session_convert_fn_intern_to_abi() self.generate_win_convert_fn() + self.generate_win_convert_fn_intern_to_abi() self.generate_request_convert_fn() + self.generate_request_convert_fn_intern_to_abi() self.generate_status_convert_fn() + self.generate_status_convert_fn_intern_to_abi() self.dump(""" #if defined(c_plusplus) || defined(__cplusplus) @@ -292,7 +369,7 @@ def print_profiling_header(fn_name, out): out.dump('#endif') -def print_cdefs_for_bigcount(fn_name, out, enable_count=False): +def print_cdefs_for_bigcount(out, enable_count=False): if enable_count: out.dump('#undef OMPI_BIGCOUNT_SRC') out.dump('#define OMPI_BIGCOUNT_SRC 1') @@ -304,14 +381,14 @@ def ompi_abi(base_name, template, out): """Generate the OMPI ABI functions.""" template.print_header(out) print_profiling_header(base_name, out) - print_cdefs_for_bigcount(base_name, out) + print_cdefs_for_bigcount(out) out.dump(template.prototype.signature(base_name, abi_type='ompi')) template.print_body(func_name=base_name, out=out) # Check if we need to generate the bigcount interface if util.prototype_has_bigcount(template.prototype): base_name_c = f'{base_name}_c' print_profiling_header(base_name_c, out) - print_cdefs_for_bigcount(base_name_c, out, enable_count=True) + print_cdefs_for_bigcount(out, enable_count=True) out.dump(template.prototype.signature(base_name_c, abi_type='ompi', enable_count=True)) template.print_body(func_name=base_name_c, out=out) @@ -326,15 +403,23 @@ def standard_abi(base_name, template, out): # Static internal function (add a random component to avoid conflicts) internal_name = f'ompi_abi_{template.prototype.name}' + print_cdefs_for_bigcount(out) internal_sig = template.prototype.signature(internal_name, abi_type='ompi', - enable_count=True) + enable_count=False) out.dump(consts.INLINE_ATTRS, internal_sig) template.print_body(func_name=base_name, out=out) - - def generate_function(prototype, fn_name, internal_fn, enable_count=False): + if util.prototype_has_bigcount(template.prototype): + internal_name = f'ompi_abi_{template.prototype.name}_c' + print_cdefs_for_bigcount(out, enable_count=True) + internal_sig = template.prototype.signature(internal_name, abi_type='ompi', + enable_count=True) + out.dump(consts.INLINE_ATTRS, internal_sig) + template.print_body(func_name=base_name, out=out) + + def generate_function(prototype, fn_name, internal_fn, out, enable_count=False): """Generate a function for the standard ABI.""" - print_profiling_header(fn_name) - print_cdefs_for_bigcount(fn_name,enable_count) + print_profiling_header(fn_name,out) +# print_cdefs_for_bigcount(out, enable_count) # Handle type conversions and arguments params = [param.construct(abi_type='standard') for param in prototype.params] @@ -344,6 +429,7 @@ def generate_function(prototype, fn_name, internal_fn, enable_count=False): return_type = prototype.return_type.construct(abi_type='standard') lines.append(f'{return_type.tmp_type_text()} ret_value;') for param in params: +# print("param = " + str(param) + " " + str(param.argument)) if param.init_code: lines.extend(param.init_code) pass_args = ', '.join(param.argument for param in params) @@ -359,10 +445,12 @@ def generate_function(prototype, fn_name, internal_fn, enable_count=False): out.dump(line) out.dump('}') - generate_function(template.prototype, base_name, internal_name) + internal_name = f'ompi_abi_{template.prototype.name}' + generate_function(template.prototype, base_name, internal_name, out) if util.prototype_has_bigcount(template.prototype): base_name_c = f'{base_name}_c' - generate_function(template.prototype, base_name_c, internal_name, + internal_name = f'ompi_abi_{template.prototype.name}_c' + generate_function(template.prototype, base_name_c, internal_name, out, enable_count=True) diff --git a/ompi/mpi/bindings/ompi_bindings/c_type.py b/ompi/mpi/bindings/ompi_bindings/c_type.py index 532dfb88e37..b9c059f2772 100644 --- a/ompi/mpi/bindings/ompi_bindings/c_type.py +++ b/ompi/mpi/bindings/ompi_bindings/c_type.py @@ -8,8 +8,8 @@ # $HEADER$ """C type definitions.""" from abc import ABC, abstractmethod -from ompi_bindings.consts import ConvertFuncs, ConvertOMPIToStandard - +from ompi_bindings.consts import ConvertFuncs, ConvertOMPIToStandard, IGNORED_STATUS_HANDLES +from ompi_bindings import util class Type(ABC): """Type representation.""" @@ -24,7 +24,7 @@ def __init__(self, type_name, name=None, self.type = type_name self.name = name self.count_param = count_param - self.mangle_name = mangle_name + self.mangle_name = util.abi_internal_name @staticmethod def construct(abi_type, type_name, **kwargs): @@ -32,6 +32,7 @@ def construct(abi_type, type_name, **kwargs): if abi_type == 'ompi': return Type.PARAMS_OMPI_ABI[type_name](type_name, **kwargs) elif abi_type == 'standard': +# print("Checkint oug type " + str(type_name)) return Type.PARAMS_STANDARD_ABI[type_name](type_name, **kwargs) else: raise RuntimeError(f'invalid ABI type {abi_type}') @@ -43,6 +44,7 @@ def wrapper(class_): if 'ompi' in abi_type: Type.PARAMS_OMPI_ABI[type_name] = class_ if 'standard' in abi_type: +# print("Adding type " + str(type_name) + " to PARAMS_STANDARD_ABI") Type.PARAMS_STANDARD_ABI[type_name] = class_ return class_ return wrapper @@ -340,6 +342,12 @@ class TypeDatatype(Type): def type_text(self, enable_count=False): return 'MPI_Datatype' +@Type.add_type('DATATYPE_OUT', abi_type=['ompi']) +class TypeDatatypeOut(Type): + + def type_text(self, enable_count=False): + return 'MPI_Datatype *' + @Type.add_type('DATATYPE_ARRAY', abi_type=['ompi']) class TypeDatatypeArray(Type): @@ -369,19 +377,18 @@ class TypeDatatypeStandard(StandardABIType): def init_code(self): return [f'MPI_Datatype {self.tmpname} = {ConvertFuncs.DATATYPE}({self.name});'] - def type_text(self, enable_count=False): - return self.mangle_name('MPI_Datatype') - + def tmp_type_text(self, enable_count=False): + return 'MPI_Datatype' -@Type.add_type('DATATYPE_OUT', abi_type=['ompi']) -class TypeDatatypeOut(Type): + def return_code(self, name): + return [f'return {ConvertOMPIToStandard.DATATYPE}({name});'] def type_text(self, enable_count=False): - return 'MPI_Datatype *' + return self.mangle_name('MPI_Datatype') @Type.add_type('DATATYPE_OUT', abi_type=['standard']) -class TypeDatatypeStandard(Type): +class TypeDatatypeOutStandard(StandardABIType): @property def final_code(self): @@ -395,6 +402,43 @@ def type_text(self, enable_count=False): def argument(self): return f'(MPI_Datatype *) {self.name}' +# +# TODO THIS IS NOT COMPLETE +# +@Type.add_type('DATATYPE_ARRAY', abi_type=['standard']) +class TypeDatatypeArrayStandard(StandardABIType): + + @property + def init_code(self): + if self.count_param is None: + code = [f'MPI_Comm comm_{self.tmpname} = {ConvertFuncs.COMM}(comm);'] + code.append(f'int size_{self.tmpname} = OMPI_COMM_IS_INTER(comm_{self.tmpname})?ompi_comm_remote_size(comm_{self.tmpname}):ompi_comm_size(comm_{self.tmpname});') + else: + code = [f'int size_{self.tmpname} = {self.count_param};'] + code.append(f'MPI_Datatype *{self.tmpname} = (MPI_Datatype *)malloc(sizeof(MPI_Datatype) * size_{self.tmpname});') + code.append(f'for(int i=0;i $@ -standard_abi/mpi.h: abi.py $(prototype_sources) +abi.h: $(prototype_sources) + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + header \ + --srcdir $(srcdir) \ + $(prototype_sources) +standard_abi/mpi.h: $(prototype_sources) mkdir -p standard_abi - $(OMPI_V_GEN) $(PYTHON) $(srcdir)/abi.py header --srcdir=$(srcdir) --external $(prototype_sources) > $@ + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + header \ + --srcdir $(srcdir) \ + --external \ + $(prototype_sources) endif # Delete generated files on maintainer-clean MAINTAINERCLEANFILES = *_generated.c abi.h standard_abi/ diff --git a/ompi/mpi/c/comm_spawn_multiple.c.in b/ompi/mpi/c/comm_spawn_multiple.c.in index a729df6dfd0..72b43a2dbc3 100644 --- a/ompi/mpi/c/comm_spawn_multiple.c.in +++ b/ompi/mpi/c/comm_spawn_multiple.c.in @@ -42,7 +42,7 @@ #include "ompi/memchecker.h" PROTOTYPE ERROR_CLASS comm_spawn_multiple(INT count, STRING_ARRAY array_of_commands, ARGV array_of_argv, - INT_ARRAY array_of_maxprocs, INFO_ARRAY array_of_info, + INT_ARRAY array_of_maxprocs, INFO_ARRAY array_of_info:count, INT root, COMM comm, COMM_OUT intercomm, INT_OUT array_of_errcodes) { diff --git a/ompi/mpi/c/file_close.c.in b/ompi/mpi/c/file_close.c.in index 4111c6a3026..19b844be21a 100644 --- a/ompi/mpi/c/file_close.c.in +++ b/ompi/mpi/c/file_close.c.in @@ -27,7 +27,7 @@ #include "ompi/errhandler/errhandler.h" #include "ompi/file/file.h" -PROTOTYPE ERROR_CLASS file_close(FILE_OUT fh) +PROTOTYPE ERROR_CLASS file_close(FILE_INOUT fh) { int rc; diff --git a/ompi/mpi/c/isendrecv_replace.c.in b/ompi/mpi/c/isendrecv_replace.c.in index 2dad8a3078e..0d3dd307b8b 100644 --- a/ompi/mpi/c/isendrecv_replace.c.in +++ b/ompi/mpi/c/isendrecv_replace.c.in @@ -34,6 +34,10 @@ #include "ompi/proc/proc.h" #include "ompi/memchecker.h" #include "ompi/runtime/ompi_spc.h" +#include "opal/mca/mpool/mpool.h" +#ifdef OMPI_NO_MPI_PROTOTYPES +#include "ompi/mpi/c/abi.h" +#endif struct ompi_isendrecv_replace_context_t { opal_object_t super; @@ -58,7 +62,7 @@ static void ompi_isendrecv_context_constructor(ompi_isendrecv_replace_context_t static void ompi_isendrecv_context_destructor(ompi_isendrecv_replace_context_t *context) { if (context->packed_size > sizeof(context->packed_data)) { - PMPI_Free_mem(context->iov.iov_base); + mca_mpool_base_free(context->iov.iov_base); } OBJ_DESTRUCT(&context->convertor); } @@ -181,8 +185,8 @@ PROTOTYPE ERROR_CLASS isendrecv_replace(BUFFER_OUT buf, COUNT count, DATATYPE da /* setup a buffer for recv */ opal_convertor_get_packed_size( &context->convertor, &context->packed_size ); if( context->packed_size > sizeof(context->packed_data) ) { - rc = PMPI_Alloc_mem(context->packed_size, MPI_INFO_NULL, &context->iov.iov_base); - if(OMPI_SUCCESS != rc) { + context->iov.iov_base = (void *)mca_mpool_base_alloc ((size_t)context->packed_size, NULL, NULL); + if(NULL == context->iov.iov_base) { OBJ_RELEASE(context); ompi_comm_request_return (crequest); OMPI_ERRHANDLER_RETURN(rc, comm, rc, FUNC_NAME); diff --git a/ompi/mpi/c/session_finalize.c.in b/ompi/mpi/c/session_finalize.c.in index 44e67abeb8e..90075d5a4c1 100644 --- a/ompi/mpi/c/session_finalize.c.in +++ b/ompi/mpi/c/session_finalize.c.in @@ -17,7 +17,7 @@ #include "ompi/memchecker.h" -PROTOTYPE ERROR_CLASS session_finalize (SESSION_OUT session) +PROTOTYPE ERROR_CLASS session_finalize (SESSION_INOUT session) { int rc; diff --git a/ompi/mpi/c/type_create_struct.c.in b/ompi/mpi/c/type_create_struct.c.in index accea45f603..98e31f567a6 100644 --- a/ompi/mpi/c/type_create_struct.c.in +++ b/ompi/mpi/c/type_create_struct.c.in @@ -40,7 +40,7 @@ PROTOTYPE ERROR_CLASS type_create_struct(COUNT count, COUNT_ARRAY array_of_blocklengths, AINT_COUNT_ARRAY array_of_displacements, - DATATYPE_ARRAY array_of_types, + DATATYPE_ARRAY array_of_types:count, DATATYPE_OUT newtype) { int i, rc, icount = (int)count; diff --git a/ompi/mpi/c/win_create_errhandler.c.in b/ompi/mpi/c/win_create_errhandler.c.in index 27a48e33aa4..3391c643524 100644 --- a/ompi/mpi/c/win_create_errhandler.c.in +++ b/ompi/mpi/c/win_create_errhandler.c.in @@ -30,7 +30,7 @@ #include "ompi/errhandler/errhandler.h" #include "ompi/win/win.h" -PROTOTYPE ERROR_CLASS win_create_errhandler(WIN_ERRHANLDER_FUNCTION function, +PROTOTYPE ERROR_CLASS win_create_errhandler(WIN_ERRHANDLER_FUNCTION function, ERRHANDLER_OUT errhandler) { int err = MPI_SUCCESS; diff --git a/ompi/mpi/c/win_f2c.c b/ompi/mpi/c/win_f2c.c.in similarity index 88% rename from ompi/mpi/c/win_f2c.c rename to ompi/mpi/c/win_f2c.c.in index 82bf2b9cc71..f7b979d80aa 100644 --- a/ompi/mpi/c/win_f2c.c +++ b/ompi/mpi/c/win_f2c.c.in @@ -27,16 +27,7 @@ #include "ompi/errhandler/errhandler.h" #include "ompi/mpi/fortran/base/fint_2_int.h" -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_Win_f2c = PMPI_Win_f2c -#endif -#define MPI_Win_f2c PMPI_Win_f2c -#endif - -static const char FUNC_NAME[] = "MPI_Win_f2c"; - -MPI_Win MPI_Win_f2c(MPI_Fint win) +PROTOTYPE WIN win_f2c(FINT win) { int o_index= OMPI_FINT_2_INT(win); diff --git a/ompi/mpi/c/wtime.c.in b/ompi/mpi/c/wtime.c.in index cc22d427142..e31db4d630e 100644 --- a/ompi/mpi/c/wtime.c.in +++ b/ompi/mpi/c/wtime.c.in @@ -45,7 +45,7 @@ * and accuracy of the user visible timer. * More info: https://github.com/mpi-forum/mpi-issues/issues/77#issuecomment-369663119 */ -extern struct timespec ompi_wtime_time_origin = {.tv_sec = 0}; +extern struct timespec ompi_wtime_time_origin; PROTOTYPE DOUBLE wtime() { From 49f042cd9a6761a49fce9c76a698506993b13833 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Wed, 28 May 2025 15:17:26 -0600 Subject: [PATCH 03/14] bindings: fix up makefile for c interfaces to heed the --enable-abi-standard config option Signed-off-by: Howard Pritchard --- ompi/mpi/c/Makefile.am | 62 ++-------------------- ompi/mpi/c/Makefile_abi.include | 94 +++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 58 deletions(-) create mode 100644 ompi/mpi/c/Makefile_abi.include diff --git a/ompi/mpi/c/Makefile.am b/ompi/mpi/c/Makefile.am index bd8c67b3cb8..b7832126750 100644 --- a/ompi/mpi/c/Makefile.am +++ b/ompi/mpi/c/Makefile.am @@ -38,11 +38,8 @@ include $(top_srcdir)/Makefile.ompi-rules noinst_LTLIBRARIES = libmpi_c.la libmpi_c_profile.la -if OMPI_STANDARD_ABI -noinst_LTLIBRARIES += libmpi_c_abi.la libmpi_c_abi_profile.la -endif if BUILD_MPI_BINDINGS_LAYER -noinst_LTLIBRARIES += libmpi_c_noprofile.la libmpi_c_abi_noprofile.la +noinst_LTLIBRARIES += libmpi_c_noprofile.la endif headers = bindings.h @@ -483,7 +480,6 @@ prototype_sources = \ wtime.c.in EXTRA_DIST = $(prototype_sources) -BUILT_SOURCES = abi.h standard_abi/mpi.h # attr_fn.c contains attribute manipulation functions which do not # profiling implications, and so are always built. @@ -501,25 +497,12 @@ if BUILD_MPI_BINDINGS_LAYER libmpi_c_la_LIBADD += libmpi_c_noprofile.la endif -libmpi_c_abi_la_SOURCES = \ - attr_fn.c \ - abi_details.c \ - abi_supported.c \ - abi_version.c - -libmpi_c_abi_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -libmpi_c_abi_la_LIBADD = libmpi_c_abi_profile.la -if BUILD_MPI_BINDINGS_LAYER -libmpi_c_abi_la_LIBADD += libmpi_c_abi_noprofile.la -endif - # # List of all C files that have profile versions (*_generated.c files were # generated from prototype_sources above). # # interface_profile_sources = $(prototype_sources:.c.in=_ompi_generated.c) -abi_interface_profile_sources = $(prototype_sources:.c.in=_abi_generated.c) # Conditionally install the header files @@ -561,15 +544,6 @@ libmpi_c_profile_la_CPPFLAGS = -DOMPI_BUILD_MPI_PROFILING=1 libmpi_c_noprofile_la_SOURCES = $(interface_profile_sources) $(extra_interface_profile_sources) $(deprecated_interface_profile_sources) libmpi_c_noprofile_la_CPPFLAGS = -DOMPI_BUILD_MPI_PROFILING=0 -libmpi_c_abi_profile_la_SOURCES = $(abi_interface_profile_sources) -libmpi_c_abi_profile_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -DOMPI_BUILD_MPI_PROFILING=1 - -libmpi_c_abi_noprofile_la_SOURCES = $(abi_interface_profile_sources) -libmpi_c_abi_noprofile_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -DOMPI_BUILD_MPI_PROFILING=0 - -nobase_include_HEADERS = standard_abi/mpi.h - -# ABI generation rules if OMPI_GENERATE_BINDINGS %_ompi_generated.c: %.c.in $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ @@ -580,36 +554,8 @@ if OMPI_GENERATE_BINDINGS source \ ompi \ $< +endif -%_abi_generated.c: %.c.in - $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ - --builddir $(abs_top_builddir) \ - --srcdir $(abs_top_srcdir) \ - --output $@ \ - c \ - source \ - standard \ - $< -abi.h: $(prototype_sources) - $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ - --builddir $(abs_top_builddir) \ - --srcdir $(abs_top_srcdir) \ - --output $@ \ - c \ - header \ - --srcdir $(srcdir) \ - $(prototype_sources) -standard_abi/mpi.h: $(prototype_sources) - mkdir -p standard_abi - $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ - --builddir $(abs_top_builddir) \ - --srcdir $(abs_top_srcdir) \ - --output $@ \ - c \ - header \ - --srcdir $(srcdir) \ - --external \ - $(prototype_sources) +if OMPI_STANDARD_ABI +include Makefile_abi.include endif -# Delete generated files on maintainer-clean -MAINTAINERCLEANFILES = *_generated.c abi.h standard_abi/ diff --git a/ompi/mpi/c/Makefile_abi.include b/ompi/mpi/c/Makefile_abi.include new file mode 100644 index 00000000000..4a2e38d07be --- /dev/null +++ b/ompi/mpi/c/Makefile_abi.include @@ -0,0 +1,94 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2013 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) 2009-2021 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2011 Sandia National Laboratories. All rights reserved. +# Copyright (c) 2012 Oak Rigde National Laboratory. All rights reserved. +# Copyright (c) 2012-2013 Inria. All rights reserved. +# Copyright (c) 2013-2018 Los Alamos National Security, LLC. All rights +# reserved. +# Copyright (c) 2015-2020 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# Copyright (c) 2021 Amazon.com, Inc. or its affiliates. All Rights +# reserved. +# Copyright (c) 2025 Advanced Micro Devices, Inc. All Rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# ABI specific make components + +noinst_LTLIBRARIES += libmpi_c_abi.la libmpi_c_abi_profile.la +if BUILD_MPI_BINDINGS_LAYER +noinst_LTLIBRARIES += libmpi_c_abi_noprofile.la +endif + +BUILT_SOURCES = abi.h standard_abi/mpi.h + + +libmpi_c_abi_la_SOURCES = \ + attr_fn.c \ + abi_details.c \ + abi_supported.c \ + abi_version.c + +libmpi_c_abi_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES +libmpi_c_abi_la_LIBADD = libmpi_c_abi_profile.la +if BUILD_MPI_BINDINGS_LAYER +libmpi_c_abi_la_LIBADD += libmpi_c_abi_noprofile.la +endif + +abi_interface_profile_sources = $(prototype_sources:.c.in=_abi_generated.c) + +libmpi_c_abi_profile_la_SOURCES = $(abi_interface_profile_sources) +libmpi_c_abi_profile_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -DOMPI_BUILD_MPI_PROFILING=1 + +libmpi_c_abi_noprofile_la_SOURCES = $(abi_interface_profile_sources) +libmpi_c_abi_noprofile_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -DOMPI_BUILD_MPI_PROFILING=0 + +nobase_include_HEADERS = abi.h standard_abi/mpi.h + +if OMPI_GENERATE_BINDINGS +%_abi_generated.c: %.c.in + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + source \ + standard \ + $< +abi.h: $(prototype_sources) + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + header \ + --srcdir $(srcdir) \ + $(prototype_sources) +standard_abi/mpi.h: $(prototype_sources) + mkdir -p standard_abi + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + header \ + --srcdir $(srcdir) \ + --external \ + $(prototype_sources) +endif +# Delete generated files on maintainer-clean +MAINTAINERCLEANFILES = *_generated.c abi.h standard_abi/ From 29b1a2fdcb8abf0b86d97846cbe61b755b4237ae Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Thu, 29 May 2025 11:39:37 -0600 Subject: [PATCH 04/14] makefile fixes Signed-off-by: Howard Pritchard --- ompi/mpi/c/Makefile.am | 32 ++++++++++++++++++++++++++++ ompi/mpi/c/Makefile_abi.include | 37 ++------------------------------- 2 files changed, 34 insertions(+), 35 deletions(-) diff --git a/ompi/mpi/c/Makefile.am b/ompi/mpi/c/Makefile.am index b7832126750..3ae12d53654 100644 --- a/ompi/mpi/c/Makefile.am +++ b/ompi/mpi/c/Makefile.am @@ -497,6 +497,8 @@ if BUILD_MPI_BINDINGS_LAYER libmpi_c_la_LIBADD += libmpi_c_noprofile.la endif +nobase_include_HEADERS = abi.h standard_abi/mpi.h + # # List of all C files that have profile versions (*_generated.c files were # generated from prototype_sources above). @@ -554,8 +556,38 @@ if OMPI_GENERATE_BINDINGS source \ ompi \ $< +abi.h: $(prototype_sources) + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + header \ + --srcdir $(srcdir) \ + $(prototype_sources) +standard_abi/mpi.h: $(prototype_sources) + mkdir -p standard_abi + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + header \ + --srcdir $(srcdir) \ + --external \ + $(prototype_sources) +%_abi_generated.c: %.c.in + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + source \ + standard \ + $< endif +MAINTAINERCLEANFILES = *_generated.c abi.h if OMPI_STANDARD_ABI include Makefile_abi.include endif diff --git a/ompi/mpi/c/Makefile_abi.include b/ompi/mpi/c/Makefile_abi.include index 4a2e38d07be..c082b84e1c0 100644 --- a/ompi/mpi/c/Makefile_abi.include +++ b/ompi/mpi/c/Makefile_abi.include @@ -29,6 +29,8 @@ # ABI specific make components +if OMPI_STANDARD_ABI + noinst_LTLIBRARIES += libmpi_c_abi.la libmpi_c_abi_profile.la if BUILD_MPI_BINDINGS_LAYER noinst_LTLIBRARIES += libmpi_c_abi_noprofile.la @@ -36,7 +38,6 @@ endif BUILT_SOURCES = abi.h standard_abi/mpi.h - libmpi_c_abi_la_SOURCES = \ attr_fn.c \ abi_details.c \ @@ -57,38 +58,4 @@ libmpi_c_abi_profile_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -DOMPI_BUILD_MPI_PRO libmpi_c_abi_noprofile_la_SOURCES = $(abi_interface_profile_sources) libmpi_c_abi_noprofile_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -DOMPI_BUILD_MPI_PROFILING=0 -nobase_include_HEADERS = abi.h standard_abi/mpi.h - -if OMPI_GENERATE_BINDINGS -%_abi_generated.c: %.c.in - $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ - --builddir $(abs_top_builddir) \ - --srcdir $(abs_top_srcdir) \ - --output $@ \ - c \ - source \ - standard \ - $< -abi.h: $(prototype_sources) - $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ - --builddir $(abs_top_builddir) \ - --srcdir $(abs_top_srcdir) \ - --output $@ \ - c \ - header \ - --srcdir $(srcdir) \ - $(prototype_sources) -standard_abi/mpi.h: $(prototype_sources) - mkdir -p standard_abi - $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ - --builddir $(abs_top_builddir) \ - --srcdir $(abs_top_srcdir) \ - --output $@ \ - c \ - header \ - --srcdir $(srcdir) \ - --external \ - $(prototype_sources) endif -# Delete generated files on maintainer-clean -MAINTAINERCLEANFILES = *_generated.c abi.h standard_abi/ From b0e92618c01f8059d40f8b738f35b195f6d274c7 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Mon, 2 Jun 2025 15:50:19 -0600 Subject: [PATCH 05/14] checkpoint Signed-off-by: Howard Pritchard --- .gitignore | 1 - ompi/mpi/bindings/ompi_bindings/c.py | 8 +- ompi/mpi/bindings/ompi_bindings/c_type.py | 60 +++++++ ompi/mpi/c/Makefile.am | 8 +- ompi/mpi/c/bindings.h | 5 + ompi/mpi/c/isendrecv.c.in | 105 +------------ ompi/mpi/c/isendrecv_replace.c.in | 2 +- .../c/{keyval_create.c.in => keyval_create.c} | 19 ++- .../mpi/c/{keyval_free.c.in => keyval_free.c} | 13 +- ompi/mpi/c/ompi_isendrecv.c | 147 ++++++++++++++++++ ompi/mpi/c/ompi_sendrecv.c | 97 ++++++++++++ ompi/mpi/c/sendrecv.c.in | 54 +------ ompi/mpi/c/sendrecv_replace.c.in | 9 +- ompi/mpi/c/status_set_cancelled.c.in | 2 +- ompi/mpi/c/status_set_elements.c.in | 2 +- ompi/mpi/c/status_set_elements_x.c.in | 2 +- ompi/mpi/c/status_set_error.c.in | 2 +- ompi/mpi/c/status_set_source.c.in | 2 +- ompi/mpi/c/status_set_tag.c.in | 2 +- 19 files changed, 358 insertions(+), 182 deletions(-) rename ompi/mpi/c/{keyval_create.c.in => keyval_create.c} (76%) rename ompi/mpi/c/{keyval_free.c.in => keyval_free.c} (78%) create mode 100644 ompi/mpi/c/ompi_isendrecv.c create mode 100644 ompi/mpi/c/ompi_sendrecv.c diff --git a/.gitignore b/.gitignore index fc1a3349a33..d31d774b831 100644 --- a/.gitignore +++ b/.gitignore @@ -535,7 +535,6 @@ docs/man # Generated C Bindings ompi/mpi/c/*_generated*.c -ompi/mpi/c/ompi_*.c ompi/mpi/c/standard_*.c ompi/mpi/c/abi.h ompi/mpi/c/standard_abi diff --git a/ompi/mpi/bindings/ompi_bindings/c.py b/ompi/mpi/bindings/ompi_bindings/c.py index bc515fd21b5..9957c56ad7b 100644 --- a/ompi/mpi/bindings/ompi_bindings/c.py +++ b/ompi/mpi/bindings/ompi_bindings/c.py @@ -218,8 +218,11 @@ def generate_status_convert_fn(self): abi_type = self.mangle_name(type_) self.dump(f'{consts.INLINE_ATTRS} void {ConvertFuncs.STATUS}({type_} *out, {abi_type} *inp)') self.dump('{') + self.dump(' void *ptr = &out->_ucount;') self.dump(' out->MPI_SOURCE = inp->MPI_SOURCE;') self.dump(' out->MPI_TAG = inp->MPI_TAG;') + self.dump(' out->_cancelled = inp->MPI_Internal[0];') + self.dump(' memcpy(ptr, &inp->MPI_Internal[1],sizeof(out->_ucount));') self.dump(f' out->MPI_ERROR = {ConvertFuncs.ERROR_CLASS}(inp->MPI_ERROR);') # Ignoring the private fields for now self.dump('}') @@ -229,8 +232,11 @@ def generate_status_convert_fn_intern_to_abi(self): abi_type = self.mangle_name(type_) self.dump(f'{consts.INLINE_ATTRS} void {ConvertOMPIToStandard.STATUS}({abi_type} *out, {type_} *inp)') self.dump('{') + self.dump(' void *ptr = &out->MPI_Internal[1];') self.dump(' out->MPI_SOURCE = inp->MPI_SOURCE;') self.dump(' out->MPI_TAG = inp->MPI_TAG;') + self.dump(' out->MPI_Internal[0] =inp->_cancelled;') + self.dump(' memcpy(ptr, &inp->_ucount,sizeof(inp->_ucount));') # self.dump(f' out->MPI_ERROR = {ConvertOMPIToStandard.ERROR_CLASS}(inp->MPI_ERROR);') # Ignoring the private fields for now self.dump('}') @@ -309,7 +315,7 @@ def dump_header(self): int MPI_SOURCE; int MPI_TAG; int MPI_ERROR; - int mpi_abi_private[5]; + int MPI_Internal[5]; };""") self.dump(f'typedef struct MPI_Status_ABI {self.mangle_name("MPI_Status")};') self.dump() diff --git a/ompi/mpi/bindings/ompi_bindings/c_type.py b/ompi/mpi/bindings/ompi_bindings/c_type.py index b9c059f2772..1c403c2f571 100644 --- a/ompi/mpi/bindings/ompi_bindings/c_type.py +++ b/ompi/mpi/bindings/ompi_bindings/c_type.py @@ -757,6 +757,66 @@ def parameter(self, enable_count=False, **kwargs): else: return f'{type_name} {self.name}[]' +@Type.add_type('STATUS_INOUT', abi_type=['ompi']) +class TypeStatusInOut(Type): + + def type_text(self, enable_count=False): + return 'MPI_Status *' + + def parameter(self, enable_count=False, **kwargs): + if self.count_param is None: + return f'MPI_Status *{self.name}' + else: + return f'MPI_Status {self.name}[]' + +# +# so far there are no vectors of statuses for inout in the the standard +# +@Type.add_type('STATUS_INOUT', abi_type=['standard']) +class TypeStausInOutStandard(StandardABIType): + + def if_should_set_status(self): + """Generate the condition to check if the status(es) should be set.""" + condition = ' && '.join(f'{self.mangle_name(const)} != {self.name}' + for const in IGNORED_STATUS_HANDLES) + return 'if (%s) {' % (condition,) + + @property + def status_argument(self): + return f'{self.name}_arg' + + @property + def init_code(self): + mangle_type = self.mangle_name('MPI_Status') + code = [f'MPI_Status *{self.status_argument} = NULL;'] + code.append(f'MPI_Status {self.tmpname};') + code.append(f'{ConvertFuncs.STATUS}(&{self.tmpname}, ({mangle_type} *){self.name});') + code.append(self.if_should_set_status()) + code.append(f'{self.status_argument} = &{self.tmpname};') + code.append('} else {') + code.append(f'{self.status_argument} = MPI_STATUS_IGNORE;') + code.append('}') + return code + + @property + def final_code(self): + code = [self.if_should_set_status()] + code.append(f'{ConvertOMPIToStandard.STATUS}({self.name}, &{self.tmpname});') + code.append('}') + return code + + @property + def argument(self): + return self.status_argument + + def type_text(self, enable_count=False): + type_name = self.mangle_name('MPI_Status') + return f'{type_name} *' + + def parameter(self, enable_count=False, **kwargs): + type_name = self.mangle_name('MPI_Status') + return f'{type_name} *{self.name}' + @Type.add_type('F08_STATUS') class TypeF08Status(Type): diff --git a/ompi/mpi/c/Makefile.am b/ompi/mpi/c/Makefile.am index 3ae12d53654..7d396f098c5 100644 --- a/ompi/mpi/c/Makefile.am +++ b/ompi/mpi/c/Makefile.am @@ -293,8 +293,6 @@ prototype_sources = \ isendrecv_replace.c.in \ issend.c.in \ is_thread_main.c.in \ - keyval_create.c.in \ - keyval_free.c.in \ lookup_name.c.in \ message_c2f.c.in \ message_f2c.c.in \ @@ -490,7 +488,9 @@ libmpi_c_la_SOURCES = \ libmpi_c_la_SOURCES += \ abi_details.c \ abi_supported.c \ - abi_version.c + abi_version.c \ + ompi_isendrecv.c \ + ompi_sendrecv.c libmpi_c_la_LIBADD = libmpi_c_profile.la if BUILD_MPI_BINDINGS_LAYER @@ -533,6 +533,8 @@ deprecated_interface_profile_sources = \ errhandler_create.c \ errhandler_get.c \ errhandler_set.c \ + keyval_create.c \ + keyval_free.c \ type_extent.c \ type_hindexed.c \ type_hvector.c \ diff --git a/ompi/mpi/c/bindings.h b/ompi/mpi/c/bindings.h index 2a849feea8d..717fe79287f 100644 --- a/ompi/mpi/c/bindings.h +++ b/ompi/mpi/c/bindings.h @@ -116,6 +116,11 @@ BEGIN_C_DECLS } while (0) +int ompi_sendrecv(const void * sendbuf, size_t sendcount, MPI_Datatype sendtype, int dest, int sendtag, + void * recvbuf, size_t recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status); +int ompi_isendrecv(const void * sendbuf, size_t sendcount, MPI_Datatype sendtype, int dest, int sendtag, + void * recvbuf, size_t recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Request * request); + END_C_DECLS #endif /* OMPI_C_BINDINGS_H */ diff --git a/ompi/mpi/c/isendrecv.c.in b/ompi/mpi/c/isendrecv.c.in index 39f410b6796..8bd8a75afa6 100644 --- a/ompi/mpi/c/isendrecv.c.in +++ b/ompi/mpi/c/isendrecv.c.in @@ -37,60 +37,12 @@ #include "ompi/runtime/ompi_spc.h" -struct ompi_isendrecv_context_t { - opal_object_t super; - int nreqs; - int source; - ompi_request_t *subreq[2]; -}; - -typedef struct ompi_isendrecv_context_t ompi_isendrecv_context_t; -#if OMPI_BUILD_MPI_PROFILING -OBJ_CLASS_INSTANCE(ompi_isendrecv_context_t, opal_object_t, NULL, NULL); -#else -OBJ_CLASS_DECLARATION(ompi_isendrecv_context_t); -#endif /* OMPI_BUILD_MPI_PROFILING */ - -static int ompi_isendrecv_complete_func (ompi_comm_request_t *request) -{ - ompi_isendrecv_context_t *context = - (ompi_isendrecv_context_t *) request->context; - - /* - * Copy the status from the receive side of the sendrecv request? - * But what if the send failed? - * - * Probably need to bring up in the MPI forum. - */ - - if (MPI_PROC_NULL != context->source) { - OMPI_COPY_STATUS(&request->super.req_status, - context->subreq[0]->req_status, false); - } else { - OMPI_COPY_STATUS(&request->super.req_status, - ompi_request_empty.req_status, false); - } - - if(NULL != context->subreq[0]) { - ompi_request_free(&context->subreq[0]); - } - if(NULL != context->subreq[1]) { - ompi_request_free(&context->subreq[1]); - } - - return OMPI_SUCCESS; -} - PROTOTYPE ERROR_CLASS isendrecv(BUFFER sendbuf, COUNT sendcount, DATATYPE sendtype, INT dest, INT sendtag, BUFFER_OUT recvbuf, COUNT recvcount, DATATYPE recvtype, INT source, INT recvtag, COMM comm, REQUEST_INOUT request) { - ompi_isendrecv_context_t *context = NULL; - ompi_comm_request_t *crequest; int rc = MPI_SUCCESS; - int nreqs = 0; - uint32_t flags; SPC_RECORD(OMPI_SPC_ISENDRECV, 1); @@ -125,64 +77,9 @@ PROTOTYPE ERROR_CLASS isendrecv(BUFFER sendbuf, COUNT sendcount, DATATYPE sendty OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME); } - crequest = ompi_comm_request_get (); - if (NULL == crequest) { - return OMPI_ERR_OUT_OF_RESOURCE; - } - - context = OBJ_NEW(ompi_isendrecv_context_t); - if (NULL == context) { - ompi_comm_request_return (crequest); - return OMPI_ERR_OUT_OF_RESOURCE; - } - - crequest->context = &context->super; - context->subreq[0] = MPI_REQUEST_NULL; - context->subreq[1] = MPI_REQUEST_NULL; - context->source = source; - - if (source != MPI_PROC_NULL) { /* post recv */ - rc = MCA_PML_CALL(irecv(recvbuf, recvcount, recvtype, - source, recvtag, comm, &context->subreq[nreqs++])); - if (MPI_SUCCESS != rc) { - OBJ_RELEASE(context); - ompi_comm_request_return (crequest); - } - OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME); - } - - if (dest != MPI_PROC_NULL) { /* send */ - rc = MCA_PML_CALL(isend(sendbuf, sendcount, sendtype, dest, - sendtag, MCA_PML_BASE_SEND_STANDARD, comm, &context->subreq[nreqs++])); - if (MPI_SUCCESS != rc) { - OBJ_RELEASE(context); - ompi_comm_request_return (crequest); - } - OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME); - } - - /* - * schedule the operation - */ - - context->nreqs = nreqs; - assert(nreqs <= 2); - - flags = OMPI_COMM_REQ_FLAG_RETAIN_SUBREQ; - - rc = ompi_comm_request_schedule_append_w_flags(crequest, ompi_isendrecv_complete_func, - context->subreq, nreqs, flags); - if (MPI_SUCCESS != rc) { - OBJ_RELEASE(context); - ompi_comm_request_return (crequest); - } + rc = ompi_isendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request); OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME); - /* kick off the request */ - - ompi_comm_request_start (crequest); - *request = &crequest->super; - return rc; } diff --git a/ompi/mpi/c/isendrecv_replace.c.in b/ompi/mpi/c/isendrecv_replace.c.in index 0d3dd307b8b..34077e25603 100644 --- a/ompi/mpi/c/isendrecv_replace.c.in +++ b/ompi/mpi/c/isendrecv_replace.c.in @@ -148,7 +148,7 @@ PROTOTYPE ERROR_CLASS isendrecv_replace(BUFFER_OUT buf, COUNT count, DATATYPE da /* simple case */ if ( source == MPI_PROC_NULL || dest == MPI_PROC_NULL || count == 0 ) { - rc = PMPI_Isendrecv(buf, count, datatype, dest, sendtag, buf, count, datatype, source, recvtag, comm, request); + rc = ompi_isendrecv(buf, count, datatype, dest, sendtag, buf, count, datatype, source, recvtag, comm, request); return rc; } diff --git a/ompi/mpi/c/keyval_create.c.in b/ompi/mpi/c/keyval_create.c similarity index 76% rename from ompi/mpi/c/keyval_create.c.in rename to ompi/mpi/c/keyval_create.c index 8a318ad4da3..d802c257dc9 100644 --- a/ompi/mpi/c/keyval_create.c.in +++ b/ompi/mpi/c/keyval_create.c @@ -1,3 +1,4 @@ +/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT BY HAND. */ /* * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana * University Research and Technology @@ -31,22 +32,26 @@ #include "ompi/attribute/attribute.h" #include "ompi/communicator/communicator.h" -PROTOTYPE ERROR_CLASS keyval_create(COPY_FUNCTION copy_attr_fn, - DELETE_FUNCTION delete_attr_fn, - INT_OUT keyval, BUFFER_OUT extra_state) +#if OMPI_BUILD_MPI_PROFILING +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_Keyval_create = PMPI_Keyval_create +#endif +#define MPI_Keyval_create PMPI_Keyval_create +#endif +int MPI_Keyval_create(MPI_Copy_function * copy_attr_fn, MPI_Delete_function * delete_attr_fn, int *keyval, void * extra_state) { int ret; ompi_attribute_fn_ptr_union_t copy_fn; ompi_attribute_fn_ptr_union_t del_fn; if (MPI_PARAM_CHECK) { - OMPI_ERR_INIT_FINALIZE(FUNC_NAME); + OMPI_ERR_INIT_FINALIZE("MPI_Keyval_create"); if (NULL == keyval) { return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_KEYVAL, - FUNC_NAME); + "MPI_Keyval_create"); } else if ((NULL == copy_attr_fn) || (NULL == delete_attr_fn)) { return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_ARG, - FUNC_NAME); + "MPI_Keyval_create"); } } @@ -55,5 +60,5 @@ PROTOTYPE ERROR_CLASS keyval_create(COPY_FUNCTION copy_attr_fn, ret = ompi_attr_create_keyval(COMM_ATTR, copy_fn, del_fn, keyval, extra_state, 0, NULL); - OMPI_ERRHANDLER_NOHANDLE_RETURN(ret, MPI_ERR_OTHER, FUNC_NAME); + OMPI_ERRHANDLER_NOHANDLE_RETURN(ret, MPI_ERR_OTHER, "MPI_Keyval_create"); } diff --git a/ompi/mpi/c/keyval_free.c.in b/ompi/mpi/c/keyval_free.c similarity index 78% rename from ompi/mpi/c/keyval_free.c.in rename to ompi/mpi/c/keyval_free.c index 8705ada7a10..6b6ffa06b8a 100644 --- a/ompi/mpi/c/keyval_free.c.in +++ b/ompi/mpi/c/keyval_free.c @@ -1,3 +1,4 @@ +/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT BY HAND. */ /* * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana * University Research and Technology @@ -28,7 +29,13 @@ #include "ompi/attribute/attribute.h" #include "ompi/communicator/communicator.h" -PROTOTYPE ERROR_CLASS keyval_free(INT_OUT keyval) +#if OMPI_BUILD_MPI_PROFILING +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_Keyval_free = PMPI_Keyval_free +#endif +#define MPI_Keyval_free PMPI_Keyval_free +#endif +int MPI_Keyval_free(int *keyval) { int ret; @@ -36,10 +43,10 @@ PROTOTYPE ERROR_CLASS keyval_free(INT_OUT keyval) if (MPI_PARAM_CHECK) { if (NULL == keyval) { return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_KEYVAL, - FUNC_NAME); + "MPI_Keyval_free"); } } ret = ompi_attr_free_keyval(COMM_ATTR, keyval, 0); - OMPI_ERRHANDLER_NOHANDLE_RETURN(ret, MPI_ERR_OTHER, FUNC_NAME); + OMPI_ERRHANDLER_NOHANDLE_RETURN(ret, MPI_ERR_OTHER, "MPI_Keyval_free"); } diff --git a/ompi/mpi/c/ompi_isendrecv.c b/ompi/mpi/c/ompi_isendrecv.c new file mode 100644 index 00000000000..13ce4ef631c --- /dev/null +++ b/ompi/mpi/c/ompi_isendrecv.c @@ -0,0 +1,147 @@ +/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT BY HAND. */ +/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ +/* + * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2022 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2008 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) 2010-2012 Oak Ridge National Labs. All rights reserved. + * Copyright (c) 2013 Los Alamos National Security, LLC. All rights + * reserved. + * Copyright (c) 2015 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * Copyright (c) 2021 Nanook Consulting. All rights reserved. + * Copyright (c) 2021-2024 Triad National Security, LLC. All rights + * reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ +#include "ompi_config.h" + +#include "ompi/mpi/c/bindings.h" +#include "ompi/runtime/params.h" +#include "ompi/communicator/communicator.h" +#include "ompi/communicator/comm_request.h" +#include "ompi/errhandler/errhandler.h" +#include "ompi/mca/pml/pml.h" +#include "ompi/request/request.h" +#include "ompi/memchecker.h" +#include "ompi/runtime/ompi_spc.h" + + +struct ompi_isendrecv_context_t { + opal_object_t super; + int nreqs; + int source; + ompi_request_t *subreq[2]; +}; + +typedef struct ompi_isendrecv_context_t ompi_isendrecv_context_t; +OBJ_CLASS_INSTANCE(ompi_isendrecv_context_t, opal_object_t, NULL, NULL); + +static int ompi_isendrecv_complete_func (ompi_comm_request_t *request) +{ + ompi_isendrecv_context_t *context = + (ompi_isendrecv_context_t *) request->context; + + /* + * Copy the status from the receive side of the sendrecv request? + * But what if the send failed? + * + * Probably need to bring up in the MPI forum. + */ + + if (MPI_PROC_NULL != context->source) { + OMPI_COPY_STATUS(&request->super.req_status, + context->subreq[0]->req_status, false); + } else { + OMPI_COPY_STATUS(&request->super.req_status, + ompi_request_empty.req_status, false); + } + + if(NULL != context->subreq[0]) { + ompi_request_free(&context->subreq[0]); + } + if(NULL != context->subreq[1]) { + ompi_request_free(&context->subreq[1]); + } + + return OMPI_SUCCESS; +} + +int ompi_isendrecv(const void * sendbuf, size_t sendcount, MPI_Datatype sendtype, int dest, int sendtag, void * recvbuf, size_t recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Request * request) +{ + ompi_isendrecv_context_t *context = NULL; + ompi_comm_request_t *crequest; + int rc = MPI_SUCCESS; + int nreqs = 0; + uint32_t flags; + + crequest = ompi_comm_request_get (); + if (NULL == crequest) { + return OMPI_ERR_OUT_OF_RESOURCE; + } + + context = OBJ_NEW(ompi_isendrecv_context_t); + if (NULL == context) { + ompi_comm_request_return (crequest); + return OMPI_ERR_OUT_OF_RESOURCE; + } + + crequest->context = &context->super; + context->subreq[0] = MPI_REQUEST_NULL; + context->subreq[1] = MPI_REQUEST_NULL; + context->source = source; + + if (source != MPI_PROC_NULL) { /* post recv */ + rc = MCA_PML_CALL(irecv(recvbuf, recvcount, recvtype, + source, recvtag, comm, &context->subreq[nreqs++])); + if (MPI_SUCCESS != rc) { + OBJ_RELEASE(context); + ompi_comm_request_return (crequest); + } + OMPI_ERRHANDLER_CHECK(rc, comm, rc, "MPI_Isendrecv"); + } + + if (dest != MPI_PROC_NULL) { /* send */ + rc = MCA_PML_CALL(isend(sendbuf, sendcount, sendtype, dest, + sendtag, MCA_PML_BASE_SEND_STANDARD, comm, &context->subreq[nreqs++])); + if (MPI_SUCCESS != rc) { + OBJ_RELEASE(context); + ompi_comm_request_return (crequest); + } + OMPI_ERRHANDLER_CHECK(rc, comm, rc, "MPI_Isendrecv"); + } + + /* + * schedule the operation + */ + + context->nreqs = nreqs; + assert(nreqs <= 2); + + flags = OMPI_COMM_REQ_FLAG_RETAIN_SUBREQ; + + rc = ompi_comm_request_schedule_append_w_flags(crequest, ompi_isendrecv_complete_func, + context->subreq, nreqs, flags); + if (MPI_SUCCESS != rc) { + OBJ_RELEASE(context); + ompi_comm_request_return (crequest); + } + + /* kick off the request */ + + ompi_comm_request_start (crequest); + *request = &crequest->super; + + return rc; +} diff --git a/ompi/mpi/c/ompi_sendrecv.c b/ompi/mpi/c/ompi_sendrecv.c new file mode 100644 index 00000000000..0bcdc5ecce3 --- /dev/null +++ b/ompi/mpi/c/ompi_sendrecv.c @@ -0,0 +1,97 @@ +/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT BY HAND. */ +/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ +/* + * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2021 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2008 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) 2010-2012 Oak Ridge National Labs. All rights reserved. + * Copyright (c) 2013 Los Alamos National Security, LLC. All rights + * reserved. + * Copyright (c) 2015 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * Copyright (c) 2021 Nanook Consulting. All rights reserved. + * Copyright (c) 2023 Jeffrey M. Squyres. All rights reserved. + * Copyright (c) 2024 Triad National Security, LLC. All rights + * reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ +#include "ompi_config.h" + +#include "ompi/mpi/c/bindings.h" +#include "ompi/runtime/params.h" +#include "ompi/communicator/communicator.h" +#include "ompi/errhandler/errhandler.h" +#include "ompi/mca/pml/pml.h" +#include "ompi/request/request.h" +#include "ompi/memchecker.h" +#include "ompi/runtime/ompi_spc.h" + +int ompi_sendrecv(const void * sendbuf, size_t sendcount, MPI_Datatype sendtype, int dest, int sendtag, void * recvbuf, size_t recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status) +{ + ompi_request_t* req = MPI_REQUEST_NULL; + int rc = MPI_SUCCESS; + int rcs = MPI_SUCCESS; + + if (source != MPI_PROC_NULL) { /* post recv */ + rc = MCA_PML_CALL(irecv(recvbuf, recvcount, recvtype, + source, recvtag, comm, &req)); + OMPI_ERRHANDLER_CHECK(rc, comm, rc, "MPI_Sendrecv"); + } + + if (dest != MPI_PROC_NULL) { /* send */ + rc = MCA_PML_CALL(send(sendbuf, sendcount, sendtype, dest, + sendtag, MCA_PML_BASE_SEND_STANDARD, comm)); + if (OPAL_UNLIKELY(MPI_SUCCESS != rc)) { + rcs = rc; +#if OPAL_ENABLE_FT_MPI + /* If this is a PROC_FAILED error, we still need to proceed with + * the receive, so that we do not propagate errors to the sender in + * the case src != dst, and only dst is dead. In this case the + * recv is guaranteed to complete (either in error if the source is + * dead, or successfully if the source is live). */ + if (OPAL_UNLIKELY(MPI_ERR_PROC_FAILED != rc)) + /* if intentionally spills outside ifdef */ +#endif + ompi_request_cancel(req); + } + } + + if (source != MPI_PROC_NULL) { /* wait for recv */ + rc = ompi_request_wait(&req, status); +#if OPAL_ENABLE_FT_MPI + /* Sendrecv never returns ERR_PROC_FAILED_PENDING because it is + * blocking. Lets cancel that irecv to complete it NOW and promote + * the error to ERR_PROC_FAILED */ + if( OPAL_UNLIKELY(MPI_ERR_PROC_FAILED_PENDING == rc) ) { + ompi_request_cancel(req); + ompi_request_wait(&req, MPI_STATUS_IGNORE); + rc = MPI_ERR_PROC_FAILED; + } +#endif + } else { + if (MPI_STATUS_IGNORE != status) { + OMPI_COPY_STATUS(status, ompi_request_empty.req_status, false); + /* + * Per MPI-1, the MPI_ERROR field is not defined for single-completion calls + */ + MEMCHECKER( + opal_memchecker_base_mem_undefined(&status->MPI_ERROR, sizeof(int)); + ); + } + rc = MPI_SUCCESS; + } + if( OPAL_UNLIKELY(MPI_SUCCESS != rcs && MPI_SUCCESS == rc) ) { + rc = rcs; + } +} diff --git a/ompi/mpi/c/sendrecv.c.in b/ompi/mpi/c/sendrecv.c.in index d6a30102a50..25167d2d857 100644 --- a/ompi/mpi/c/sendrecv.c.in +++ b/ompi/mpi/c/sendrecv.c.in @@ -41,9 +41,7 @@ PROTOTYPE ERROR_CLASS sendrecv(BUFFER sendbuf, COUNT sendcount, DATATYPE sendtyp DATATYPE recvtype, INT source, INT recvtag, COMM comm, STATUS_OUT status) { - ompi_request_t* req = MPI_REQUEST_NULL; int rc = MPI_SUCCESS; - int rcs = MPI_SUCCESS; SPC_RECORD(OMPI_SPC_SENDRECV, 1); @@ -75,57 +73,9 @@ PROTOTYPE ERROR_CLASS sendrecv(BUFFER sendbuf, COUNT sendcount, DATATYPE sendtyp OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME); } - if (source != MPI_PROC_NULL) { /* post recv */ - rc = MCA_PML_CALL(irecv(recvbuf, recvcount, recvtype, - source, recvtag, comm, &req)); - OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME); - } - - if (dest != MPI_PROC_NULL) { /* send */ - rc = MCA_PML_CALL(send(sendbuf, sendcount, sendtype, dest, - sendtag, MCA_PML_BASE_SEND_STANDARD, comm)); - if (OPAL_UNLIKELY(MPI_SUCCESS != rc)) { - rcs = rc; -#if OPAL_ENABLE_FT_MPI - /* If this is a PROC_FAILED error, we still need to proceed with - * the receive, so that we do not propagate errors to the sender in - * the case src != dst, and only dst is dead. In this case the - * recv is guaranteed to complete (either in error if the source is - * dead, or successfully if the source is live). */ - if (OPAL_UNLIKELY(MPI_ERR_PROC_FAILED != rc)) - /* if intentionally spills outside ifdef */ -#endif - ompi_request_cancel(req); - } - } + rc = ompi_sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, + recvbuf, recvcount, recvtype, source, recvtag, comm, status); - if (source != MPI_PROC_NULL) { /* wait for recv */ - rc = ompi_request_wait(&req, status); -#if OPAL_ENABLE_FT_MPI - /* Sendrecv never returns ERR_PROC_FAILED_PENDING because it is - * blocking. Lets cancel that irecv to complete it NOW and promote - * the error to ERR_PROC_FAILED */ - if( OPAL_UNLIKELY(MPI_ERR_PROC_FAILED_PENDING == rc) ) { - ompi_request_cancel(req); - ompi_request_wait(&req, MPI_STATUS_IGNORE); - rc = MPI_ERR_PROC_FAILED; - } -#endif - } else { - if (MPI_STATUS_IGNORE != status) { - OMPI_COPY_STATUS(status, ompi_request_empty.req_status, false); - /* - * Per MPI-1, the MPI_ERROR field is not defined for single-completion calls - */ - MEMCHECKER( - opal_memchecker_base_mem_undefined(&status->MPI_ERROR, sizeof(int)); - ); - } - rc = MPI_SUCCESS; - } - if( OPAL_UNLIKELY(MPI_SUCCESS != rcs && MPI_SUCCESS == rc) ) { - rc = rcs; - } OMPI_ERRHANDLER_RETURN(rc, comm, rc, FUNC_NAME); } diff --git a/ompi/mpi/c/sendrecv_replace.c.in b/ompi/mpi/c/sendrecv_replace.c.in index 76aadb3ab30..7c8dba56a17 100644 --- a/ompi/mpi/c/sendrecv_replace.c.in +++ b/ompi/mpi/c/sendrecv_replace.c.in @@ -29,6 +29,7 @@ #include "ompi/errhandler/errhandler.h" #include "ompi/datatype/ompi_datatype.h" #include "opal/datatype/opal_convertor.h" +#include "opal/mca/mpool/mpool.h" #include "ompi/mca/pml/pml.h" #include "ompi/proc/proc.h" #include "ompi/memchecker.h" @@ -80,7 +81,7 @@ PROTOTYPE ERROR_CLASS sendrecv_replace(BUFFER_OUT buf, COUNT count, DATATYPE dat /* simple case */ if ( source == MPI_PROC_NULL || dest == MPI_PROC_NULL || count == 0 ) { - rc = PMPI_Sendrecv(buf, count, datatype, dest, sendtag, buf, count, datatype, source, recvtag, comm, status); + rc = ompi_sendrecv(buf, count, datatype, dest, sendtag, buf, count, datatype, source, recvtag, comm, status); return rc; } @@ -113,8 +114,8 @@ PROTOTYPE ERROR_CLASS sendrecv_replace(BUFFER_OUT buf, COUNT count, DATATYPE dat /* setup a temporary buffer to send */ opal_convertor_get_packed_size( &convertor, &packed_size ); if( packed_size > sizeof(packed_data) ) { - rc = PMPI_Alloc_mem(packed_size, MPI_INFO_NULL, &iov.iov_base); - if(OMPI_SUCCESS != rc) { + iov.iov_base = (void *)mca_mpool_base_alloc (packed_size, NULL, NULL); + if(NULL == iov.iov_base) { rc = OMPI_ERR_OUT_OF_RESOURCE; goto cleanup_and_return; } @@ -166,7 +167,7 @@ PROTOTYPE ERROR_CLASS sendrecv_replace(BUFFER_OUT buf, COUNT count, DATATYPE dat /* release resources */ if(packed_size > sizeof(packed_data)) { - PMPI_Free_mem(iov.iov_base); + mca_mpool_base_free(iov.iov_base); } OBJ_DESTRUCT(&convertor); diff --git a/ompi/mpi/c/status_set_cancelled.c.in b/ompi/mpi/c/status_set_cancelled.c.in index 3c47560527c..960154e2d5a 100644 --- a/ompi/mpi/c/status_set_cancelled.c.in +++ b/ompi/mpi/c/status_set_cancelled.c.in @@ -28,7 +28,7 @@ #include "ompi/errhandler/errhandler.h" #include "ompi/memchecker.h" -PROTOTYPE ERROR_CLASS status_set_cancelled(STATUS_OUT status, INT flag) +PROTOTYPE ERROR_CLASS status_set_cancelled(STATUS_INOUT status, INT flag) { MEMCHECKER( if(status != MPI_STATUSES_IGNORE) { diff --git a/ompi/mpi/c/status_set_elements.c.in b/ompi/mpi/c/status_set_elements.c.in index 953a7aef7d0..da3c85053e1 100644 --- a/ompi/mpi/c/status_set_elements.c.in +++ b/ompi/mpi/c/status_set_elements.c.in @@ -32,7 +32,7 @@ #include "ompi/datatype/ompi_datatype.h" #include "ompi/memchecker.h" -PROTOTYPE ERROR_CLASS status_set_elements(STATUS_OUT status, DATATYPE datatype, COUNT count) +PROTOTYPE ERROR_CLASS status_set_elements(STATUS_INOUT status, DATATYPE datatype, COUNT count) { int rc = MPI_SUCCESS; size_t size; diff --git a/ompi/mpi/c/status_set_elements_x.c.in b/ompi/mpi/c/status_set_elements_x.c.in index c24b24f9c55..584035e8d53 100644 --- a/ompi/mpi/c/status_set_elements_x.c.in +++ b/ompi/mpi/c/status_set_elements_x.c.in @@ -32,7 +32,7 @@ #include "ompi/datatype/ompi_datatype.h" #include "ompi/memchecker.h" -PROTOTYPE ERROR_CLASS status_set_elements_x(STATUS_OUT status, DATATYPE datatype, PARTITIONED_COUNT count) +PROTOTYPE ERROR_CLASS status_set_elements_x(STATUS_INOUT status, DATATYPE datatype, PARTITIONED_COUNT count) { int rc = MPI_SUCCESS; size_t size; diff --git a/ompi/mpi/c/status_set_error.c.in b/ompi/mpi/c/status_set_error.c.in index 30a667cd5a5..31eccfee732 100644 --- a/ompi/mpi/c/status_set_error.c.in +++ b/ompi/mpi/c/status_set_error.c.in @@ -17,7 +17,7 @@ #include "ompi/errhandler/errhandler.h" #include "ompi/memchecker.h" -PROTOTYPE ERROR_CLASS status_set_error(STATUS_OUT status, INT error) +PROTOTYPE ERROR_CLASS status_set_error(STATUS_INOUT status, INT error) { MEMCHECKER( if(status != MPI_STATUSES_IGNORE) { diff --git a/ompi/mpi/c/status_set_source.c.in b/ompi/mpi/c/status_set_source.c.in index 46e1959bb85..b723a6bb3e6 100644 --- a/ompi/mpi/c/status_set_source.c.in +++ b/ompi/mpi/c/status_set_source.c.in @@ -17,7 +17,7 @@ #include "ompi/errhandler/errhandler.h" #include "ompi/memchecker.h" -PROTOTYPE ERROR_CLASS status_set_source(STATUS_OUT status, INT source) +PROTOTYPE ERROR_CLASS status_set_source(STATUS_INOUT status, INT source) { MEMCHECKER( if(status != MPI_STATUSES_IGNORE) { diff --git a/ompi/mpi/c/status_set_tag.c.in b/ompi/mpi/c/status_set_tag.c.in index 2a85c3cb62f..beca885583b 100644 --- a/ompi/mpi/c/status_set_tag.c.in +++ b/ompi/mpi/c/status_set_tag.c.in @@ -18,7 +18,7 @@ #include "ompi/errhandler/errhandler.h" #include "ompi/memchecker.h" -PROTOTYPE ERROR_CLASS status_set_tag(STATUS_OUT status, INT tag) +PROTOTYPE ERROR_CLASS status_set_tag(STATUS_INOUT status, INT tag) { MEMCHECKER( if(status != MPI_STATUSES_IGNORE) { From 340e7ad5e44bfb9a2e679d7f59437d613ad7c877 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Wed, 2 Jul 2025 12:15:39 -0600 Subject: [PATCH 06/14] some fixes and start of a wrapper method for comm/type/win attributes. Not clear if this is the way to handle attr copy/del call backs compiled againt the mpi.h ABI header file. Signed-off-by: Howard Pritchard --- ompi/attribute/attribute.h | 3 +- ompi/mpi/bindings/ompi_bindings/c.py | 43 ++++++++++++++- ompi/mpi/bindings/ompi_bindings/c_type.py | 66 ++++++++++++++++++----- ompi/mpi/bindings/ompi_bindings/consts.py | 11 +++- ompi/mpi/bindings/ompi_bindings/util.py | 15 +++++- ompi/mpi/c/comm_create_keyval.c.in | 12 +++-- ompi/mpi/c/type_create_keyval.c.in | 8 ++- ompi/mpi/c/win_create_keyval.c.in | 12 +++-- 8 files changed, 144 insertions(+), 26 deletions(-) diff --git a/ompi/attribute/attribute.h b/ompi/attribute/attribute.h index 6292f1b0c55..7520297ebb4 100644 --- a/ompi/attribute/attribute.h +++ b/ompi/attribute/attribute.h @@ -50,6 +50,7 @@ #define OMPI_KEYVAL_PREDEFINED 0x0001 #define OMPI_KEYVAL_F77 0x0002 #define OMPI_KEYVAL_F77_INT 0x0004 +#define OMPI_KEYVAL_ABI 0x0008 BEGIN_C_DECLS @@ -136,7 +137,7 @@ struct ompi_attribute_keyval_t { copy/delete attribute functions properly and error checking */ int attr_flag; /**< flag field: contains "OMPI_KEYVAL_PREDEFINED", - "OMPI_KEYVAL_F77" */ + "OMPI_KEYVAL_F77", "OMPI_KEYVAL_ABI", etc. */ ompi_attribute_fn_ptr_union_t copy_attr_fn; /**< Copy function for the attribute */ ompi_attribute_fn_ptr_union_t delete_attr_fn; /**< Delete function for the diff --git a/ompi/mpi/bindings/ompi_bindings/c.py b/ompi/mpi/bindings/ompi_bindings/c.py index 9957c56ad7b..7cc651816f1 100644 --- a/ompi/mpi/bindings/ompi_bindings/c.py +++ b/ompi/mpi/bindings/ompi_bindings/c.py @@ -322,13 +322,35 @@ def dump_header(self): # user functions self.dump('typedef int (MPI_Copy_function)(MPI_Comm_ABI_INTERNAL, int, void *, void *, void *, int *);') self.dump('typedef int (MPI_Delete_function)(MPI_Comm_ABI_INTERNAL, int, void *, void *);') +# +# generate prototypes for user call back functions +# + for handle in consts.C_ATTRIBUTE_OBJS: + prefix, suffix = handle.split('_') + copy_callback_func_name = f'{handle}_copy_attr_function' + copy_callback_func_name = f'{self.mangle_name(copy_callback_func_name)}' + delete_callback_func_name = f'{handle}_delete_attr_function' + delete_callback_func_name = f'{self.mangle_name(delete_callback_func_name)}' + # + # stupid MPI standard naming consistency + # + if handle == 'MPI_Type': + obj_arg_type = f'{self.mangle_name("MPI_Datatype")}' + else: + obj_arg_type = f'{self.mangle_name(handle)}' + obj_arg_name = f'old{suffix}'.lower() + obj_arg = f'{obj_arg_type} {obj_arg_name}' + keyval_arg = f'int {suffix}_keyval'.lower() + self.dump(f'typedef int ({copy_callback_func_name})({obj_arg}, {keyval_arg}, void *, void *, void *,int *);') + self.dump(f'typedef int ({delete_callback_func_name})({obj_arg}, {keyval_arg}, void *, void *);') + # Function signatures for sig in self.signatures: self.dump(f'{sig};') -# print("Working on signature " + str(sig)) self.dump('int MPI_Abi_details(int *buflen, char *details, MPI_Info *info);') self.dump('int MPI_Abi_supported(int *flag);') self.dump('int MPI_Abi_version(int *abi_major, int *abi_minor);') + if not self.external: # Now generate the conversion code self.generate_error_convert_fn() @@ -383,11 +405,20 @@ def print_cdefs_for_bigcount(out, enable_count=False): out.dump('#undef OMPI_BIGCOUNT_SRC') out.dump('#define OMPI_BIGCOUNT_SRC 0') +def print_cdefs_for_abi(out, abi_type='ompi'): + if abi_type == 'ompi': + out.dump('#undef OMPI_ABI_SRC') + out.dump('#define OMPI_ABI_SRC 0') + else: + out.dump('#undef OMPI_ABI_SRC') + out.dump('#define OMPI_ABI_SRC 1') + def ompi_abi(base_name, template, out): """Generate the OMPI ABI functions.""" template.print_header(out) print_profiling_header(base_name, out) print_cdefs_for_bigcount(out) + print_cdefs_for_abi(out) out.dump(template.prototype.signature(base_name, abi_type='ompi')) template.print_body(func_name=base_name, out=out) # Check if we need to generate the bigcount interface @@ -395,6 +426,7 @@ def ompi_abi(base_name, template, out): base_name_c = f'{base_name}_c' print_profiling_header(base_name_c, out) print_cdefs_for_bigcount(out, enable_count=True) + print_cdefs_for_abi(out) out.dump(template.prototype.signature(base_name_c, abi_type='ompi', enable_count=True)) template.print_body(func_name=base_name_c, out=out) @@ -406,10 +438,18 @@ def standard_abi(base_name, template, out): """Generate the standard ABI functions.""" template.print_header(out) out.dump(f'#include "{ABI_INTERNAL_HEADER}"') + print_cdefs_for_abi(out,abi_type='standard') + + # If any parameters are pointers to user callback functions, generate code + # for callback wrappers +# if util.prototype_needs_callback_wrappers(template.prototype): +# for param in prototype.params: +# if param.callback_wrapper_code: # Static internal function (add a random component to avoid conflicts) internal_name = f'ompi_abi_{template.prototype.name}' print_cdefs_for_bigcount(out) + print_cdefs_for_abi(out, abi_type='standard') internal_sig = template.prototype.signature(internal_name, abi_type='ompi', enable_count=False) out.dump(consts.INLINE_ATTRS, internal_sig) @@ -417,6 +457,7 @@ def standard_abi(base_name, template, out): if util.prototype_has_bigcount(template.prototype): internal_name = f'ompi_abi_{template.prototype.name}_c' print_cdefs_for_bigcount(out, enable_count=True) + print_cdefs_for_abi(out, abi_type='standard') internal_sig = template.prototype.signature(internal_name, abi_type='ompi', enable_count=True) out.dump(consts.INLINE_ATTRS, internal_sig) diff --git a/ompi/mpi/bindings/ompi_bindings/c_type.py b/ompi/mpi/bindings/ompi_bindings/c_type.py index 1c403c2f571..6d34752cd16 100644 --- a/ompi/mpi/bindings/ompi_bindings/c_type.py +++ b/ompi/mpi/bindings/ompi_bindings/c_type.py @@ -1152,7 +1152,23 @@ class TypeCommCopyAttrFunctionStandard(Type): # pass def type_text(self, enable_count=False): - return 'MPI_Comm_copy_attr_function *' + type_name = self.mangle_name('MPI_Comm_copy_attr_function') + return f'{type_name} *' + + @property + def argument(self): + return f'(MPI_Comm_copy_attr_function *) {self.name}' + +# @property +# def init_code(self): +# code = [] +# code = ['ompi_abi_wrapper_helper_t *helper = NULL;'] +# code.append('helper = ( ompi_abi_wrapper_helper_t *)malloc(sizeof(ompi_abi_wrapper_helper_t));') +# code.append('if (NULL == helper) return MPI_ERR_NO_MEM;') +# code.append('helper->user_extra_state = extra_state;') +# code.append('helper->user_copy_fn = comm_copy_attr_fn;') +# code.append('helper->user_delete_fn = comm_delete_attr_fn;') +# return code @Type.add_type('COMM_DELETE_ATTR_FUNCTION', abi_type=['ompi']) class TypeCommDeleteAttrFunction(Type): @@ -1167,7 +1183,12 @@ class TypeCommDeleteAttrFunctionStandard(Type): # pass def type_text(self, enable_count=False): - return 'MPI_Comm_delete_attr_function *' + type_name = self.mangle_name('MPI_Comm_delete_attr_function') + return f'{type_name} *' + + @property + def argument(self): + return f'(MPI_Comm_delete_attr_function *) {self.name}' @Type.add_type('GREQUEST_QUERY_FUNCTION', abi_type=['ompi']) class TypeGrequestQueryFunction(Type): @@ -1279,7 +1300,12 @@ class TypeTypeCopyAttrFunctionStandard(Type): # pass def type_text(self, enable_count=False): - return 'MPI_Type_copy_attr_function *' + type_name = self.mangle_name('MPI_Type_copy_attr_function') + return f'{type_name} *' + + @property + def argument(self): + return f'(MPI_Type_copy_attr_function *) {self.name}' @Type.add_type('TYPE_DELETE_ATTR_FUNCTION', abi_type=['ompi']) class TypeTypeDeleteAttrFunction(Type): @@ -1294,9 +1320,15 @@ class TypeTypeDeleteAttrFunctionStandard(Type): # pass def type_text(self, enable_count=False): - return 'MPI_Type_delete_attr_function *' + type_name = self.mangle_name('MPI_Type_delete_attr_function') + return f'{type_name} *' + + @property + def argument(self): + return f'(MPI_Type_delete_attr_function *) {self.name}' @Type.add_type('WIN_ERRHANDLER_FUNCTION', abi_type=['ompi']) + class TypeWinErrhandlerFunction(Type): def type_text(self, enable_count=False): @@ -1324,7 +1356,12 @@ class TypeWinCopyAttrFunctionStandard(Type): # pass def type_text(self, enable_count=False): - return 'MPI_Win_copy_attr_function *' + type_name = self.mangle_name('MPI_Win_copy_attr_function') + return f'{type_name} *' + + @property + def argument(self): + return f'(MPI_Win_copy_attr_function *) {self.name}' @Type.add_type('WIN_DELETE_ATTR_FUNCTION', abi_type=['ompi']) class TypeWinDeleteAttrFunction(Type): @@ -1339,7 +1376,12 @@ class TypeWinDeleteAttrFunctionStandard(Type): # pass def type_text(self, enable_count=False): - return 'MPI_Win_delete_attr_function *' + type_name = self.mangle_name('MPI_Win_delete_attr_function') + return f'{type_name} *' + + @property + def argument(self): + return f'(MPI_Win_delete_attr_function *) {self.name}' @Type.add_type('ERRHANDLER', abi_type=['ompi']) class TypeErrhandler(Type): @@ -1448,15 +1490,15 @@ def type_text(self, enable_count=False): @Type.add_type('SESSION_INOUT', abi_type=['standard']) -class TypeSessionOutStandard(StandardABIType): +class TypeSessionInOutStandard(StandardABIType): -# @property -# def init_code(self): -# return [f'MPI_Session {self.tmpname} = {ConvertFuncs.SESSION}(*{self.name});'] + @property + def init_code(self): + return [f'MPI_Session {self.tmpname} = {ConvertFuncs.SESSION}(*{self.name});'] @property def final_code(self): - return [f'*{self.name} = {ConvertOMPIToStandard.SESSION}((MPI_Session) *{self.name});'] + return [f'*{self.name} = {ConvertOMPIToStandard.SESSION}({self.tmpname});'] def type_text(self, enable_count=False): type_name = self.mangle_name('MPI_Session') @@ -1464,7 +1506,7 @@ def type_text(self, enable_count=False): @property def argument(self): - return f'(MPI_Session *) {self.name}' + return f'&{self.tmpname}' @Type.add_type('SESSION_OUT', abi_type=['standard']) diff --git a/ompi/mpi/bindings/ompi_bindings/consts.py b/ompi/mpi/bindings/ompi_bindings/consts.py index b8021b5f910..4e9f568f1d9 100644 --- a/ompi/mpi/bindings/ompi_bindings/consts.py +++ b/ompi/mpi/bindings/ompi_bindings/consts.py @@ -250,6 +250,15 @@ 'MPI_Win', ] +# +# C objects that can have attributes cached on them +# +C_ATTRIBUTE_OBJS = [ + 'MPI_Comm', + 'MPI_Type', + 'MPI_Win', +] + class ConvertFuncs: """Names of conversion functions (between standard ABI and OMPI ABI).""" @@ -262,7 +271,7 @@ class ConvertFuncs: STATUS = 'ompi_convert_abi_status_intern_status' MESSAGE = 'ompi_convert_abi_message_intern_message' OP = 'ompi_convert_abi_op_intern_op' - SESSION = 'ompi_convert_abi_session_intern_win' + SESSION = 'ompi_convert_abi_session_intern_session' WIN = 'ompi_convert_abi_win_intern_win' INFO = 'ompi_convert_abi_info_intern_info' FILE = 'ompi_convert_abi_file_intern_file' diff --git a/ompi/mpi/bindings/ompi_bindings/util.py b/ompi/mpi/bindings/ompi_bindings/util.py index 68d03eaa563..37b0ac51c08 100644 --- a/ompi/mpi/bindings/ompi_bindings/util.py +++ b/ompi/mpi/bindings/ompi_bindings/util.py @@ -147,7 +147,6 @@ def abi_internal_name(extname): 'DATAREP_CONVERSION_FUNCTION', ] - def prototype_has_bigcount(prototype): """Should this prototype have a bigcount version?""" return any(param.type_name in BIGCOUNT_TYPE_NAMES for param in prototype.params) @@ -165,3 +164,17 @@ def prototype_has_buffers(prototype): return True else: return False + +USER_CALLBACK_NAMES = [ + 'COMM_COPY_ATTR_FUNCTION', + 'COMM_DELETE_ATTR_FUNCTION', + 'TYPE_COPY_ATTR_FUNCTION', + 'TYPE_DELETE_ATTR_FUNCTION', + 'WIN_COPY_ATTR_FUNCTION', + 'WIN_DELETE_ATTR_FUNCTION', +] + +def prototype_needs_callback_wrappers(prototype): + """Should this prototype need a callback wrappers""" + return any(param.type_name in USER_CALLBACK_NAMES for param in prototype.params) + diff --git a/ompi/mpi/c/comm_create_keyval.c.in b/ompi/mpi/c/comm_create_keyval.c.in index d69c245fc49..613881989c0 100644 --- a/ompi/mpi/c/comm_create_keyval.c.in +++ b/ompi/mpi/c/comm_create_keyval.c.in @@ -36,6 +36,7 @@ PROTOTYPE ERROR_CLASS comm_create_keyval(COMM_COPY_ATTR_FUNCTION comm_copy_attr_ INT_OUT comm_keyval, BUFFER_OUT extra_state) { int ret; + int flags = 0; ompi_attribute_fn_ptr_union_t copy_fn; ompi_attribute_fn_ptr_union_t del_fn; @@ -48,11 +49,14 @@ PROTOTYPE ERROR_CLASS comm_create_keyval(COMM_COPY_ATTR_FUNCTION comm_copy_attr_ } } - copy_fn.attr_communicator_copy_fn = comm_copy_attr_fn; - del_fn.attr_communicator_delete_fn = comm_delete_attr_fn; + copy_fn.attr_communicator_copy_fn = (MPI_Comm_copy_attr_function *)comm_copy_attr_fn; + del_fn.attr_communicator_delete_fn = (MPI_Comm_delete_attr_function *)comm_delete_attr_fn; - ret = ompi_attr_create_keyval(COMM_ATTR, copy_fn, - del_fn, comm_keyval, extra_state, 0, NULL); +#if OMPI_ABI_SRC + flags |= OMPI_KEYVAL_ABI; +#endif + ret = ompi_attr_create_keyval(COMM_ATTR, copy_fn, del_fn, + comm_keyval, extra_state, flags, NULL); OMPI_ERRHANDLER_NOHANDLE_RETURN(ret, MPI_ERR_OTHER, FUNC_NAME); } diff --git a/ompi/mpi/c/type_create_keyval.c.in b/ompi/mpi/c/type_create_keyval.c.in index ea5cff2542d..7df25a437c1 100644 --- a/ompi/mpi/c/type_create_keyval.c.in +++ b/ompi/mpi/c/type_create_keyval.c.in @@ -36,7 +36,7 @@ PROTOTYPE ERROR_CLASS type_create_keyval(TYPE_COPY_ATTR_FUNCTION type_copy_attr_ INT_OUT type_keyval, BUFFER_OUT extra_state) { - int ret; + int ret, flags = 0; ompi_attribute_fn_ptr_union_t copy_fn; ompi_attribute_fn_ptr_union_t del_fn; @@ -53,8 +53,12 @@ PROTOTYPE ERROR_CLASS type_create_keyval(TYPE_COPY_ATTR_FUNCTION type_copy_attr_ copy_fn.attr_datatype_copy_fn = type_copy_attr_fn; del_fn.attr_datatype_delete_fn = type_delete_attr_fn; +#if OMPI_ABI_SRC + flags |= OMPI_KEYVAL_ABI; +#endif + ret = ompi_attr_create_keyval(TYPE_ATTR, copy_fn, del_fn, - type_keyval, extra_state, 0, NULL); + type_keyval, extra_state, flags, NULL); OMPI_ERRHANDLER_NOHANDLE_RETURN(ret, ret, FUNC_NAME); } diff --git a/ompi/mpi/c/win_create_keyval.c.in b/ompi/mpi/c/win_create_keyval.c.in index f58401685bf..c02337ebd0c 100644 --- a/ompi/mpi/c/win_create_keyval.c.in +++ b/ompi/mpi/c/win_create_keyval.c.in @@ -35,7 +35,7 @@ PROTOTYPE ERROR_CLASS win_create_keyval(WIN_COPY_ATTR_FUNCTION win_copy_attr_fn, WIN_DELETE_ATTR_FUNCTION win_delete_attr_fn, INT_OUT win_keyval, BUFFER_OUT extra_state) { - int ret; + int ret, flags = 0; ompi_attribute_fn_ptr_union_t copy_fn; ompi_attribute_fn_ptr_union_t del_fn; @@ -48,10 +48,14 @@ PROTOTYPE ERROR_CLASS win_create_keyval(WIN_COPY_ATTR_FUNCTION win_copy_attr_fn, } } - copy_fn.attr_win_copy_fn = win_copy_attr_fn; - del_fn.attr_win_delete_fn = win_delete_attr_fn; + copy_fn.attr_win_copy_fn = (MPI_Win_copy_attr_function *)win_copy_attr_fn; + del_fn.attr_win_delete_fn = (MPI_Win_delete_attr_function *)win_delete_attr_fn; + +#if OMPI_ABI_SRC + flags |= OMPI_KEYVAL_ABI; +#endif ret = ompi_attr_create_keyval(WIN_ATTR, copy_fn, del_fn, - win_keyval, extra_state, 0, NULL); + win_keyval, extra_state, flags, NULL); OMPI_ERRHANDLER_NOHANDLE_RETURN(ret, MPI_ERR_OTHER, FUNC_NAME); } From 4661c680903466f08070315faf0d9ef55ebcd895 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Mon, 7 Jul 2025 16:40:21 -0600 Subject: [PATCH 07/14] attributes: add wrapper infrastructure This approach works for attributes but other approaches will be needed for error handlers and datatype conversion related functions. Signed-off-by: Howard Pritchard --- ompi/mpi/bindings/ompi_bindings/c.py | 11 +- ompi/mpi/bindings/ompi_bindings/c_type.py | 131 ++- ompi/mpi/c/abi.py | 1278 --------------------- ompi/mpi/c/comm_create_keyval.c.in | 10 +- ompi/mpi/c/type_create_keyval.c.in | 7 +- ompi/mpi/c/win_create_keyval.c.in | 9 +- 6 files changed, 131 insertions(+), 1315 deletions(-) delete mode 100755 ompi/mpi/c/abi.py diff --git a/ompi/mpi/bindings/ompi_bindings/c.py b/ompi/mpi/bindings/ompi_bindings/c.py index 7cc651816f1..c9ba51af75a 100644 --- a/ompi/mpi/bindings/ompi_bindings/c.py +++ b/ompi/mpi/bindings/ompi_bindings/c.py @@ -442,9 +442,14 @@ def standard_abi(base_name, template, out): # If any parameters are pointers to user callback functions, generate code # for callback wrappers -# if util.prototype_needs_callback_wrappers(template.prototype): -# for param in prototype.params: -# if param.callback_wrapper_code: + if util.prototype_needs_callback_wrappers(template.prototype): + params = [param.construct(abi_type='standard') for param in template.prototype.params] + for param in params: + if param.callback_wrapper_code: + lines = [] + lines.extend(param.callback_wrapper_code) + for line in lines: + out.dump(line) # Static internal function (add a random component to avoid conflicts) internal_name = f'ompi_abi_{template.prototype.name}' diff --git a/ompi/mpi/bindings/ompi_bindings/c_type.py b/ompi/mpi/bindings/ompi_bindings/c_type.py index 6d34752cd16..ec324454471 100644 --- a/ompi/mpi/bindings/ompi_bindings/c_type.py +++ b/ompi/mpi/bindings/ompi_bindings/c_type.py @@ -84,6 +84,10 @@ def tmp_type_text(self, enable_count=False): def parameter(self, enable_count=False, **kwargs): return f'{self.type_text(enable_count=enable_count)} {self.name}' + @property + def callback_wrapper_code(self): + """Return True if this parameter has callback wrapper code to generate.""" + return False @Type.add_type('ERROR_CLASS') class TypeErrorClass(Type): @@ -1148,8 +1152,6 @@ def type_text(self, enable_count=False): @Type.add_type('COMM_COPY_ATTR_FUNCTION', abi_type=['standard']) class TypeCommCopyAttrFunctionStandard(Type): - # TODO: This may require a special function to wrap the callback -# pass def type_text(self, enable_count=False): type_name = self.mangle_name('MPI_Comm_copy_attr_function') @@ -1159,16 +1161,40 @@ def type_text(self, enable_count=False): def argument(self): return f'(MPI_Comm_copy_attr_function *) {self.name}' -# @property -# def init_code(self): -# code = [] -# code = ['ompi_abi_wrapper_helper_t *helper = NULL;'] -# code.append('helper = ( ompi_abi_wrapper_helper_t *)malloc(sizeof(ompi_abi_wrapper_helper_t));') -# code.append('if (NULL == helper) return MPI_ERR_NO_MEM;') -# code.append('helper->user_extra_state = extra_state;') -# code.append('helper->user_copy_fn = comm_copy_attr_fn;') -# code.append('helper->user_delete_fn = comm_delete_attr_fn;') -# return code + @property + def init_code(self): + code = [] + code = ['ompi_abi_wrapper_helper_t *helper = NULL;'] + code.append('helper = ( ompi_abi_wrapper_helper_t *)malloc(sizeof(ompi_abi_wrapper_helper_t));') + code.append('if (NULL == helper) return MPI_ERR_NO_MEM;') + code.append('helper->user_extra_state = extra_state;') + code.append('helper->user_copy_fn = comm_copy_attr_fn;') + code.append('helper->user_delete_fn = comm_delete_attr_fn;') + return code + + # TODO: This should be generalized to be reused with type and win + @property + def callback_wrapper_code(self): + code = [] + code = ['typedef struct {'] + code.append(' MPI_Comm_copy_attr_function_ABI_INTERNAL *user_copy_fn;') + code.append(' MPI_Comm_delete_attr_function_ABI_INTERNAL *user_delete_fn;') + code.append(' void *user_extra_state;') + code.append('} ompi_abi_wrapper_helper_t;') + code.append('static int ompi_abi_copy_attr_fn(MPI_Comm oldcomm, int comm_keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)') + code.append('{') + code.append(' ompi_abi_wrapper_helper_t *helper = (ompi_abi_wrapper_helper_t *)extra_state;') + code.append(' MPI_Comm_ABI_INTERNAL comm_tmp = ompi_convert_comm_ompi_to_standard(oldcomm);') + code.append(' return helper->user_copy_fn((MPI_Comm_ABI_INTERNAL)comm_tmp, comm_keyval, helper->user_extra_state, attribute_val_in, attribute_val_out, flag);') + code.append('}') + code.append('static int ompi_abi_delete_attr_fn(MPI_Comm oldcomm, int comm_keyval, void *attribute_val, void *extra_state)') + code.append('{') + code.append(' ompi_abi_wrapper_helper_t *helper = (ompi_abi_wrapper_helper_t *)extra_state;') + code.append(' MPI_Comm_ABI_INTERNAL comm_tmp = ompi_convert_comm_ompi_to_standard(oldcomm);') + code.append(' return helper->user_delete_fn((MPI_Comm_ABI_INTERNAL)comm_tmp, comm_keyval, attribute_val, helper->user_extra_state);') + code.append(' free(helper);') + code.append('}') + return code @Type.add_type('COMM_DELETE_ATTR_FUNCTION', abi_type=['ompi']) class TypeCommDeleteAttrFunction(Type): @@ -1179,8 +1205,6 @@ def type_text(self, enable_count=False): @Type.add_type('COMM_DELETE_ATTR_FUNCTION', abi_type=['standard']) class TypeCommDeleteAttrFunctionStandard(Type): - # TODO: This may require a special function to wrap the callback -# pass def type_text(self, enable_count=False): type_name = self.mangle_name('MPI_Comm_delete_attr_function') @@ -1293,11 +1317,8 @@ class TypeTypeCopyAttrFunction(Type): def type_text(self, enable_count=False): return 'MPI_Type_copy_attr_function *' - @Type.add_type('TYPE_COPY_ATTR_FUNCTION', abi_type=['standard']) class TypeTypeCopyAttrFunctionStandard(Type): - # TODO: This may require a special function to wrap the callback -# pass def type_text(self, enable_count=False): type_name = self.mangle_name('MPI_Type_copy_attr_function') @@ -1307,6 +1328,41 @@ def type_text(self, enable_count=False): def argument(self): return f'(MPI_Type_copy_attr_function *) {self.name}' + @property + def init_code(self): + code = [] + code = ['ompi_abi_wrapper_helper_t *helper = NULL;'] + code.append('helper = ( ompi_abi_wrapper_helper_t *)malloc(sizeof(ompi_abi_wrapper_helper_t));') + code.append('if (NULL == helper) return MPI_ERR_NO_MEM;') + code.append('helper->user_extra_state = extra_state;') + code.append('helper->user_copy_fn = type_copy_attr_fn;') + code.append('helper->user_delete_fn = type_delete_attr_fn;') + return code + + # TODO: This should be generalized to be reused with type and win + @property + def callback_wrapper_code(self): + code = [] + code = ['typedef struct {'] + code.append(' MPI_Type_copy_attr_function_ABI_INTERNAL *user_copy_fn;') + code.append(' MPI_Type_delete_attr_function_ABI_INTERNAL *user_delete_fn;') + code.append(' void *user_extra_state;') + code.append('} ompi_abi_wrapper_helper_t;') + code.append('static int ompi_abi_copy_attr_fn(MPI_Datatype oldtype, int type_keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)') + code.append('{') + code.append(' ompi_abi_wrapper_helper_t *helper = (ompi_abi_wrapper_helper_t *)extra_state;') + code.append(' MPI_Datatype_ABI_INTERNAL type_tmp = ompi_convert_datatype_ompi_to_standard(oldtype);') + code.append(' return helper->user_copy_fn((MPI_Datatype_ABI_INTERNAL)type_tmp, type_keyval, helper->user_extra_state, attribute_val_in, attribute_val_out, flag);') + code.append('}') + code.append('static int ompi_abi_delete_attr_fn(MPI_Datatype oldtype, int type_keyval, void *attribute_val, void *extra_state)') + code.append('{') + code.append(' ompi_abi_wrapper_helper_t *helper = (ompi_abi_wrapper_helper_t *)extra_state;') + code.append(' MPI_Datatype_ABI_INTERNAL type_tmp = ompi_convert_datatype_ompi_to_standard(oldtype);') + code.append(' return helper->user_delete_fn((MPI_Datatype_ABI_INTERNAL)type_tmp, type_keyval, attribute_val, helper->user_extra_state);') + code.append(' free(helper);') + code.append('}') + return code + @Type.add_type('TYPE_DELETE_ATTR_FUNCTION', abi_type=['ompi']) class TypeTypeDeleteAttrFunction(Type): @@ -1316,8 +1372,6 @@ def type_text(self, enable_count=False): @Type.add_type('TYPE_DELETE_ATTR_FUNCTION', abi_type=['standard']) class TypeTypeDeleteAttrFunctionStandard(Type): - # TODO: This may require a special function to wrap the callback -# pass def type_text(self, enable_count=False): type_name = self.mangle_name('MPI_Type_delete_attr_function') @@ -1352,8 +1406,6 @@ def type_text(self, enable_count=False): @Type.add_type('WIN_COPY_ATTR_FUNCTION', abi_type=['standard']) class TypeWinCopyAttrFunctionStandard(Type): - # TODO: This may require a special function to wrap the callback -# pass def type_text(self, enable_count=False): type_name = self.mangle_name('MPI_Win_copy_attr_function') @@ -1363,6 +1415,41 @@ def type_text(self, enable_count=False): def argument(self): return f'(MPI_Win_copy_attr_function *) {self.name}' + @property + def init_code(self): + code = [] + code = ['ompi_abi_wrapper_helper_t *helper = NULL;'] + code.append('helper = ( ompi_abi_wrapper_helper_t *)malloc(sizeof(ompi_abi_wrapper_helper_t));') + code.append('if (NULL == helper) return MPI_ERR_NO_MEM;') + code.append('helper->user_extra_state = extra_state;') + code.append('helper->user_copy_fn = win_copy_attr_fn;') + code.append('helper->user_delete_fn = win_delete_attr_fn;') + return code + + @property + def callback_wrapper_code(self): + code = [] + code = ['typedef struct {'] + code.append(' MPI_Win_copy_attr_function_ABI_INTERNAL *user_copy_fn;') + code.append(' MPI_Win_delete_attr_function_ABI_INTERNAL *user_delete_fn;') + code.append(' void *user_extra_state;') + code.append('} ompi_abi_wrapper_helper_t;') + code.append('static int ompi_abi_copy_attr_fn(MPI_Win oldwin, int win_keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)') + code.append('{') + code.append(' ompi_abi_wrapper_helper_t *helper = (ompi_abi_wrapper_helper_t *)extra_state;') + code.append(' MPI_Win_ABI_INTERNAL win_tmp = ompi_convert_win_ompi_to_standard(oldwin);') + code.append(' return helper->user_copy_fn((MPI_Win_ABI_INTERNAL)win_tmp, win_keyval, helper->user_extra_state, attribute_val_in, attribute_val_out, flag);') + code.append('}') + code.append('static int ompi_abi_delete_attr_fn(MPI_Win oldwin, int win_keyval, void *attribute_val, void *extra_state)') + code.append('{') + code.append(' ompi_abi_wrapper_helper_t *helper = (ompi_abi_wrapper_helper_t *)extra_state;') + code.append(' MPI_Win_ABI_INTERNAL win_tmp = ompi_convert_win_ompi_to_standard(oldwin);') + code.append(' return helper->user_delete_fn((MPI_Win_ABI_INTERNAL)win_tmp, win_keyval, attribute_val, helper->user_extra_state);') + code.append(' free(helper);') + code.append('}') + return code + + @Type.add_type('WIN_DELETE_ATTR_FUNCTION', abi_type=['ompi']) class TypeWinDeleteAttrFunction(Type): @@ -1372,8 +1459,6 @@ def type_text(self, enable_count=False): @Type.add_type('WIN_DELETE_ATTR_FUNCTION', abi_type=['standard']) class TypeWinDeleteAttrFunctionStandard(Type): - # TODO: This may require a special function to wrap the callback -# pass def type_text(self, enable_count=False): type_name = self.mangle_name('MPI_Win_delete_attr_function') diff --git a/ompi/mpi/c/abi.py b/ompi/mpi/c/abi.py deleted file mode 100755 index f40986ff981..00000000000 --- a/ompi/mpi/c/abi.py +++ /dev/null @@ -1,1278 +0,0 @@ -#!/usr/bin/env python3 -# Copyright (c) 2023 Triad National Security, LLC. All rights reserved. -# Copyright (c) 2023 Research Organization for Information Science -# and Technology (RIST). All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADERS$ -# -# -"""MPI Standard ABI Generation. - -TEMPLATE SOURCE FILE ASSUMPTIONS: -* Only one function per file -* Nothing (other than blank lines) after closing '}' -* Function prototype is preceded by PROTOTYPE -* All types in the function prototype are converted to one-word capital types - as defined here (to be later converted to ompi or standard ABI types) -* Functions requiring a bigcount implementation should have type COUNT in - place of MPI_Count or int for each count parameter. Bigcount functions will - be generated automatically for any function that includes a COUNT type. -""" -from abc import ABC, abstractmethod -import argparse -import re -import sys -import os - -# C type: const int -ERROR_CLASSES = [ - 'MPI_SUCCESS', - 'MPI_ERR_BUFFER', - 'MPI_ERR_COUNT', - 'MPI_ERR_TYPE', - 'MPI_ERR_TAG', - 'MPI_ERR_COMM', - 'MPI_ERR_RANK', - 'MPI_ERR_REQUEST', - 'MPI_ERR_ROOT', - 'MPI_ERR_GROUP', - 'MPI_ERR_OP', - 'MPI_ERR_TOPOLOGY', - 'MPI_ERR_DIMS', - 'MPI_ERR_ARG', - 'MPI_ERR_UNKNOWN', - 'MPI_ERR_TRUNCATE', - 'MPI_ERR_OTHER', - 'MPI_ERR_INTERN', - 'MPI_ERR_PENDING', - 'MPI_ERR_IN_STATUS', - 'MPI_ERR_ACCESS', - 'MPI_ERR_AMODE', - 'MPI_ERR_ASSERT', - 'MPI_ERR_BAD_FILE', - 'MPI_ERR_BASE', - 'MPI_ERR_CONVERSION', - 'MPI_ERR_DISP', - 'MPI_ERR_DUP_DATAREP', - 'MPI_ERR_FILE_EXISTS', - 'MPI_ERR_FILE_IN_USE', - 'MPI_ERR_FILE', - 'MPI_ERR_INFO_KEY', - 'MPI_ERR_INFO_NOKEY', - 'MPI_ERR_INFO_VALUE', - 'MPI_ERR_INFO', - 'MPI_ERR_IO', - 'MPI_ERR_KEYVAL', - 'MPI_ERR_LOCKTYPE', - 'MPI_ERR_NAME', - 'MPI_ERR_NO_MEM', - 'MPI_ERR_NOT_SAME', - 'MPI_ERR_NO_SPACE', - 'MPI_ERR_NO_SUCH_FILE', - 'MPI_ERR_PORT', - 'MPI_ERR_PROC_ABORTED', - 'MPI_ERR_QUOTA', - 'MPI_ERR_READ_ONLY', - 'MPI_ERR_RMA_ATTACH', - 'MPI_ERR_RMA_CONFLICT', - 'MPI_ERR_RMA_RANGE', - 'MPI_ERR_RMA_SHARED', - 'MPI_ERR_RMA_SYNC', - 'MPI_ERR_RMA_FLAVOR', - 'MPI_ERR_SERVICE', - 'MPI_ERR_SESSION', - 'MPI_ERR_SIZE', - 'MPI_ERR_SPAWN', - 'MPI_ERR_UNSUPPORTED_DATAREP', - 'MPI_ERR_UNSUPPORTED_OPERATION', - 'MPI_ERR_WIN', - 'MPI_T_ERR_CANNOT_INIT', - 'MPI_T_ERR_NOT_INITIALIZED', - 'MPI_T_ERR_MEMORY', - 'MPI_T_ERR_INVALID', - 'MPI_T_ERR_INVALID_INDEX', - 'MPI_T_ERR_INVALID_ITEM', - 'MPI_T_ERR_INVALID_SESSION', - 'MPI_T_ERR_INVALID_HANDLE', - 'MPI_T_ERR_INVALID_NAME', - 'MPI_T_ERR_OUT_OF_HANDLES', - 'MPI_T_ERR_OUT_OF_SESSIONS', - 'MPI_T_ERR_CVAR_SET_NOT_NOW', - 'MPI_T_ERR_CVAR_SET_NEVER', - 'MPI_T_ERR_PVAR_NO_WRITE', - 'MPI_T_ERR_PVAR_NO_STARTSTOP', - 'MPI_T_ERR_PVAR_NO_ATOMIC', - 'MPI_ERR_LASTCODE', -] - -PREDEFINED_DATATYPES = [ - 'MPI_CHAR', - 'MPI_SHORT', - 'MPI_INT', - 'MPI_LONG', - 'MPI_LONG_LONG_INT', - 'MPI_LONG_LONG', - 'MPI_SIGNED_CHAR', - 'MPI_UNSIGNED_CHAR', - 'MPI_UNSIGNED_SHORT', - 'MPI_UNSIGNED', - 'MPI_UNSIGNED_LONG', - 'MPI_UNSIGNED_LONG_LONG', - 'MPI_FLOAT', - 'MPI_DOUBLE', - 'MPI_LONG_DOUBLE', - 'MPI_WCHAR', - 'MPI_C_BOOL', - 'MPI_INT8_T', - 'MPI_INT16_T', - 'MPI_INT32_T', - 'MPI_INT64_T', - 'MPI_UINT8_T', - 'MPI_UINT16_T', - 'MPI_UINT32_T', - 'MPI_UINT64_T', - 'MPI_AINT', - 'MPI_COUNT', - 'MPI_OFFSET', - 'MPI_C_COMPLEX', - 'MPI_C_FLOAT_COMPLEX', - 'MPI_C_DOUBLE_COMPLEX', - 'MPI_C_LONG_DOUBLE_COMPLEX', - 'MPI_BYTE', - 'MPI_PACKED', - 'MPI_CXX_BOOL', - 'MPI_CXX_FLOAT_COMPLEX', - 'MPI_CXX_DOUBLE_COMPLEX', - 'MPI_CXX_LONG_DOUBLE_COMPLEX', - 'MPI_FLOAT_INT', - 'MPI_DOUBLE_INT', - 'MPI_LONG_INT', - 'MPI_2INT', - 'MPI_SHORT_INT', - 'MPI_LONG_DOUBLE_INT', -] - -# C type: MPI_Comm -RESERVED_COMMUNICATORS = [ - 'MPI_COMM_NULL', - 'MPI_COMM_WORLD', - 'MPI_COMM_SELF', -] - -COMMUNICATOR_SPLIT_TYPES = [ - 'MPI_COMM_TYPE_SHARED', - 'MPI_COMM_TYPE_HW_UNGUIDED', - 'MPI_COMM_TYPE_HW_GUIDED', -] - -RESERVED_WINDOWS = [ - 'MPI_WIN_NULL', -] - -RESERVED_REQUESTS = [ - 'MPI_REQUEST_NULL', -] - -RESERVED_INFOS = [ - 'MPI_INFO_ENV', - 'MPI_INFO_NULL', -] - -RESERVED_FILES = [ - 'MPI_FILE_NULL', -] - -IGNORED_STATUS_HANDLES = [ - 'MPI_STATUSES_IGNORE', - 'MPI_STATUS_IGNORE', -] - -COLLECTIVE_OPERATIONS = [ - 'MPI_MAX', - 'MPI_MIN', - 'MPI_SUM', - 'MPI_PROD', - 'MPI_MAXLOC', - 'MPI_MINLOC', - 'MPI_BAND', - 'MPI_BOR', - 'MPI_BXOR', - 'MPI_LAND', - 'MPI_LOR', - 'MPI_LXOR', - 'MPI_REPLACE', - 'MPI_NO_OP', -] - -VARIOUS_CONSTANTS = { - # Just setting this to the same as ompi ABI for right now, but will need to - # match the standard ABI value when defined - 'MPI_MAX_LIBRARY_VERSION_STRING': 256, - 'MPI_MAX_PROCESSOR_NAME': 256, -} - -# Types - -C_OPAQUE_TYPES = { - 'MPI_Aint': 'intptr_t', - 'MPI_Offset': 'int64_t', - 'MPI_Count': 'size_t', - # The below type needs to be set externally depending on Fortran compiler - 'MPI_Fint': 'int64_t', -} - -C_HANDLES = [ - 'MPI_Comm', - 'MPI_Datatype', - 'MPI_Errhandler', - 'MPI_File', - 'MPI_Group', - 'MPI_Info', - 'MPI_Message', - 'MPI_Op', - 'MPI_Request', - 'MPI_Session', - 'MPI_Win', -] - - -class ConvertFuncs: - """Names of conversion functions (between standard ABI and OMPI ABI).""" - - ERROR_CLASS = 'ompi_convert_intern_error_abi_error' - COMM = 'ompi_convert_abi_comm_intern_comm' - DATATYPE = 'ompi_convert_abi_datatype_intern_datatype' - REQUEST = 'ompi_convert_abi_request_intern_request' - STATUS = 'ompi_convert_intern_status_abi_status' - OP = 'ompi_convert_abi_op_intern_op' - WIN = 'ompi_convert_abi_win_intern_win' - INFO = 'ompi_convert_abi_info_intern_info' - FILE = 'ompi_convert_abi_file_intern_file' - - -class ConvertOMPIToStandard: - """Generated function for converting from OMPI to standard ABI.""" - - COMM = 'ompi_convert_comm_ompi_to_standard' - - -# Inline function attributes -INLINE_ATTRS = '__opal_attribute_always_inline__ static inline' - - -def mpi_fn_name_from_base_fn_name(name): - """Convert from a base name to the standard 'MPI_*' name.""" - return f'MPI_{name.capitalize()}' - - -def abi_internal_name(extname): - """Convert from the ABI external name to an internal name. - - Used to avoid conflicts with existing MPI names. - """ - return f'{extname}_ABI_INTERNAL' - - -class ABIHeaderBuilder: - """ABI header builder code.""" - - def __init__(self, prototypes, external=False, file=sys.stdout): - self.file = file - self.external = external - - if external: - mangle_name = lambda name: name - else: - mangle_name = abi_internal_name - - # Build up the list of standard ABI signatures - signatures = [] - for prototype in prototypes: - base_name = mpi_fn_name_from_base_fn_name(prototype.name) - signatures.append(prototype.signature('standard', base_name, - mangle_name=mangle_name)) - # Profiling prototype - signatures.append(prototype.signature('standard', f'P{base_name}', - mangle_name=mangle_name)) - if prototype.need_bigcount: - signatures.append(prototype.signature('standard', f'{base_name}_c', - count_type='MPI_Count', - mangle_name=mangle_name)) - # Profiling prototype - signatures.append(prototype.signature('standard', f'P{base_name}_c', - count_type='MPI_Count', - mangle_name=mangle_name)) - self.signatures = signatures - - def mangle_name(self, extname): - """Mangle names, depending on whether building external or internal header.""" - if self.external: - return extname - return abi_internal_name(extname) - - def dump(self, *pargs, **kwargs): - print(*pargs, **kwargs, file=self.file) - - def dump_lines(self, lines): - lines = indent_lines(lines, 4 * ' ', start=1) - for line in lines: - self.dump(line) - - def generate_error_convert_fn(self): - self.dump(f'{INLINE_ATTRS} int {ConvertFuncs.ERROR_CLASS}(int error_class)') - self.dump('{') - lines = [] - lines.append('switch (error_class) {') - for error in ERROR_CLASSES: - lines.append(f'case {self.mangle_name(error)}:') - lines.append(f'return {error};') - lines.append('default:') - lines.append('return error_class;') - lines.append('}') - self.dump_lines(lines) - self.dump('}') - - def generic_convert(self, fn_name, param_name, type_, value_names): - intern_type = self.mangle_name(type_) - self.dump(f'{INLINE_ATTRS} {type_} {fn_name}({intern_type} {param_name})') - self.dump('{') - lines = [] - for i, value_name in enumerate(value_names): - intern_name = self.mangle_name(value_name) - if i == 0: - lines.append('if (%s == %s) {' % (intern_name, param_name)) - else: - lines.append('} else if (%s == %s) {' % (intern_name, param_name)) - lines.append(f'return {value_name};') - lines.append('}') - lines.append(f'return ({type_}) {param_name};') - self.dump_lines(lines) - self.dump('}') - - def generic_convert_reverse(self, fn_name, param_name, type_, value_names): - intern_type = self.mangle_name(type_) - self.dump(f'{INLINE_ATTRS} {intern_type} {fn_name}({type_} {param_name})') - self.dump('{') - lines = [] - for i, value_name in enumerate(value_names): - intern_name = self.mangle_name(value_name) - if i == 0: - lines.append('if (%s == %s) {' % (value_name, param_name)) - else: - lines.append('} else if (%s == %s) {' % (value_name, param_name)) - lines.append(f'return {intern_name};') - lines.append('}') - lines.append(f'return ({intern_type}) {param_name};') - self.dump_lines(lines) - self.dump('}') - - def generate_comm_convert_fn(self): - self.generic_convert(ConvertFuncs.COMM, 'comm', 'MPI_Comm', RESERVED_COMMUNICATORS) - - def generate_comm_convert_fn_intern_to_abi(self): - self.generic_convert_reverse(ConvertOMPIToStandard.COMM, 'comm', 'MPI_Comm', RESERVED_COMMUNICATORS) - - def generate_info_convert_fn(self): - self.generic_convert(ConvertFuncs.INFO, 'info', 'MPI_Info', RESERVED_INFOS) - - def generate_file_convert_fn_intern_to_abi(self): - self.generic_convert_reverse(ConvertFuncs.FILE, 'file', 'MPI_File', RESERVED_FILES) - - def generate_datatype_convert_fn(self): - self.generic_convert(ConvertFuncs.DATATYPE, 'datatype', 'MPI_Datatype', PREDEFINED_DATATYPES) - - def generate_op_convert_fn(self): - self.generic_convert(ConvertFuncs.OP, 'op', 'MPI_Op', COLLECTIVE_OPERATIONS) - - def generate_win_convert_fn(self): - self.generic_convert(ConvertFuncs.WIN, 'win', 'MPI_Win', RESERVED_WINDOWS) - - def generate_pointer_convert_fn(self, type_, fn_name, constants): - abi_type = self.mangle_name(type_) - self.dump(f'{INLINE_ATTRS} void {fn_name}({abi_type} *ptr)') - self.dump('{') - lines = [] - for i, ompi_name in enumerate(constants): - abi_name = self.mangle_name(ompi_name) - if i == 0: - lines.append('if (%s == (%s) *ptr) {' % (ompi_name, type_)) - else: - lines.append('} else if (%s == (%s) *ptr) {' % (ompi_name, type_)) - lines.append(f'*ptr = {abi_name};') - lines.append('}') - self.dump_lines(lines) - self.dump('}') - - def generate_request_convert_fn(self): - self.generate_pointer_convert_fn('MPI_Request', ConvertFuncs.REQUEST, RESERVED_REQUESTS) - - def generate_file_convert_fn(self): - self.generate_pointer_convert_fn('MPI_File', ConvertFuncs.FILE, RESERVED_FILES) - - def generate_status_convert_fn(self): - type_ = 'MPI_Status' - abi_type = self.mangle_name(type_) - self.dump(f'{INLINE_ATTRS} void {ConvertFuncs.STATUS}({abi_type} *out, {type_} *inp)') - self.dump('{') - self.dump(' out->MPI_SOURCE = inp->MPI_SOURCE;') - self.dump(' out->MPI_TAG = inp->MPI_TAG;') - self.dump(f' out->MPI_ERROR = {ConvertFuncs.ERROR_CLASS}(inp->MPI_ERROR);') - # TODO: What to do with the private fields? - self.dump('}') - - def define(self, type_, name, value): - self.dump(f'#define {name} OMPI_CAST_CONSTANT({type_}, {value})') - - def define_all(self, type_, constants): - for i, const in enumerate(constants): - self.define(self.mangle_name(type_), self.mangle_name(const), i + 1) - self.dump() - - def dump_header(self): - header_guard = '_ABI_INTERNAL_' - self.dump(f'#ifndef {header_guard}') - self.dump(f'#define {header_guard}') - - self.dump('#include "stddef.h"') - self.dump('#include "stdint.h"') - - self.dump(""" -#if defined(c_plusplus) || defined(__cplusplus) -extern "C" { -#endif -""") - - self.dump(""" -#if defined(c_plusplus) || defined(__cplusplus) -#define OMPI_CAST_CONSTANT(type, value) (static_cast (static_cast (value))) -#else -#define OMPI_CAST_CONSTANT(type, value) ((type) ((void *) value)) -#endif -""") - - for i, err in enumerate(ERROR_CLASSES): - self.dump(f'#define {self.mangle_name(err)} {i + 1}') - self.dump() - - self.define_all('MPI_Datatype', PREDEFINED_DATATYPES) - self.define_all('MPI_Op', COLLECTIVE_OPERATIONS) - self.define_all('MPI_Comm', RESERVED_COMMUNICATORS) - self.define_all('MPI_Request', RESERVED_REQUESTS) - self.define_all('MPI_Win', RESERVED_WINDOWS) - self.define_all('MPI_Info', RESERVED_INFOS) - self.define_all('MPI_File', RESERVED_FILES) - - for name, value in VARIOUS_CONSTANTS.items(): - self.dump(f'#define {self.mangle_name(name)} {value}') - self.dump() - - status_type = self.mangle_name('MPI_Status') - for i, name in enumerate(IGNORED_STATUS_HANDLES): - self.define(f'{status_type} *', self.mangle_name(name), i + 1) - self.dump() - - for i, name in enumerate(COMMUNICATOR_SPLIT_TYPES): - self.dump(f'#define {self.mangle_name(name)} {i}') - self.dump() - - for mpi_type, c_type in C_OPAQUE_TYPES.items(): - self.dump(f'typedef {c_type} {self.mangle_name(mpi_type)};') - self.dump() - - for handle in C_HANDLES: - prefix, suffix = handle.split('_') - name = f'{prefix}_ABI_{suffix}' - self.dump(f'typedef struct {self.mangle_name(name)} *{self.mangle_name(handle)};') - self.dump() - self.dump(""" -struct MPI_Status_ABI { - int MPI_SOURCE; - int MPI_TAG; - int MPI_ERROR; - int mpi_abi_private[5]; -};""") - self.dump(f'typedef struct MPI_Status_ABI {self.mangle_name("MPI_Status")};') - self.dump() - # Function signatures - for sig in self.signatures: - self.dump(f'{sig};') - self.dump('int MPI_Abi_details(int *buflen, char *details, MPI_Info *info);') - self.dump('int MPI_Abi_supported(int *flag);') - self.dump('int MPI_Abi_version(int *abi_major, int *abi_minor);') - if not self.external: - # Now generate the conversion code - self.generate_error_convert_fn() - self.generate_comm_convert_fn() - self.generate_comm_convert_fn_intern_to_abi() - self.generate_info_convert_fn() - self.generate_file_convert_fn() - self.generate_datatype_convert_fn() - self.generate_op_convert_fn() - self.generate_win_convert_fn() - self.generate_request_convert_fn() - self.generate_status_convert_fn() - - self.dump(""" -#if defined(c_plusplus) || defined(__cplusplus) -} -#endif -""") - self.dump(f'#endif /* {header_guard} */') - - -class Parameter: - - def __init__(self, text): - """Parse a parameter.""" - # parameter in the form "TYPE NAME" or "TYPE NAME:COUNT_VAR" - type_, namecount = text.split() - if ':' in namecount: - name, count_param = namecount.split(':') - else: - name, count_param = namecount, None - self.type_ = type_ - self.name = name - self.count_param = count_param - - def construct(self, abi_type, **kwargs): - """Construct the type parameter for the given ABI.""" - return Type.construct(abi_type, type_=self.type_, name=self.name, - count_param=self.count_param, **kwargs) - - -class ReturnType: - """Return type wrapper.""" - - def __init__(self, type_): - self.type_ = type_ - - def construct(self, abi_type, **kwargs): - """Construct the return type for the given ABI.""" - return Type.construct(abi_type, type_=self.type_, **kwargs) - - -class Type(ABC): - """Type representation.""" - - PARAMS_OMPI_ABI = {} - - PARAMS_STANDARD_ABI = {} - - def __init__(self, type_, name=None, - mangle_name=lambda name: abi_internal_name(name), - count_param=None, **kwargs): - self.type = type_ - self.name = name - self.count_param = count_param - self.mangle_name = mangle_name - - @staticmethod - def construct(abi_type, type_, **kwargs): - """Construct the parameter for the given ABI and type.""" - if abi_type == 'ompi': - return Type.PARAMS_OMPI_ABI[type_](type_, **kwargs) - elif abi_type == 'standard': - return Type.PARAMS_STANDARD_ABI[type_](type_, **kwargs) - else: - raise RuntimeError(f'invalid ABI type {abi_type}') - - @staticmethod - def add_type(type_name, abi_type=('ompi', 'standard')): - """Add a new class corresponding to a type.""" - def wrapper(class_): - if 'ompi' in abi_type: - Type.PARAMS_OMPI_ABI[type_name] = class_ - if 'standard' in abi_type: - Type.PARAMS_STANDARD_ABI[type_name] = class_ - # Parameter.TYPES[type_] = class_ - return class_ - return wrapper - - @property - def is_count(self): - """Return True if this parameter is a count (requiring bigcount API).""" - return False - - @property - def init_code(self): - """Return the initialization code needed for an ABI wrapper.""" - return [] - - @property - def final_code(self): - """Return the finalization code needed for an ABI wrapper.""" - return [] - - def return_code(self, name): - """Process a value and then build up a return statement.""" - return [f'return {name};'] - - @property - def argument(self): - """Return the argument text required for passing an argument to a function.""" - return self.name - - @abstractmethod - def type_text(self, count_type=None): - """Return the source text corresponding to a type definition.""" - - def tmp_type_text(self, count_type=None): - """Return source text corresponding to a temporary type definition before conversion.""" - return self.type_text(count_type=count_type) - - def parameter(self, count_type=None, **kwargs): - return f'{self.type_text(count_type)} {self.name}' - - -@Type.add_type('ERROR_CLASS') -class TypeErrorClass(Type): - - def type_text(self, count_type=None): - return 'int' - - def return_code(self, name): - return [f'return {ConvertFuncs.ERROR_CLASS}({name});'] - - -@Type.add_type('BUFFER') -class TypeBuffer(Type): - - def type_text(self, count_type=None): - return 'const void *' - - -@Type.add_type('BUFFER_OUT') -class TypeBufferOut(Type): - - def type_text(self, count_type=None): - return f'void *' - - -@Type.add_type('COUNT') -class TypeCount(Type): - - @property - def is_count(self): - return True - - def type_text(self, count_type=None): - return 'int' if count_type is None else count_type - - -@Type.add_type('INT') -class TypeBufferOut(Type): - - def type_text(self, count_type=None): - return 'int' - - -@Type.add_type('AINT') -class TypeBufferOut(Type): - - def type_text(self, count_type=None): - return 'MPI_Aint' - - -@Type.add_type('INT_OUT') -class TypeBufferOut(Type): - - def type_text(self, count_type=None): - return 'int *' - - def parameter(self, count_type=None, **kwargs): - if self.count_param is None: - return f'int *{self.name}' - else: - return f'int {self.name}[]' - - -@Type.add_type('DOUBLE') -class TypeDouble(Type): - - def type_text(self, count_type=None): - return 'double' - - -@Type.add_type('ARGV') -class TypeArgv(Type): - - def type_text(self, count_type=None): - return 'char ***' - - -@Type.add_type('DATATYPE', abi_type=['ompi']) -class TypeDatatype(Type): - - def type_text(self, count_type=None): - return 'MPI_Datatype' - - -class StandardABIType(Type): - - @property - def tmpname(self): - return f'{self.name}_tmp' - - @property - def argument(self): - return self.tmpname - - -@Type.add_type('DATATYPE', abi_type=['standard']) -class TypeDatatype(StandardABIType): - - @property - def init_code(self): - return [f'MPI_Datatype {self.tmpname} = {ConvertFuncs.DATATYPE}({self.name});'] - - def type_text(self, count_type=None): - return self.mangle_name('MPI_Datatype') - - -@Type.add_type('OP', abi_type=['ompi']) -class TypeDatatype(Type): - - def type_text(self, count_type=None): - return 'MPI_Op' - - -@Type.add_type('OP', abi_type=['standard']) -class TypeDatatype(StandardABIType): - - @property - def init_code(self): - return [f'MPI_Op {self.tmpname} = {ConvertFuncs.OP}({self.name});'] - - def type_text(self, count_type=None): - return self.mangle_name('MPI_Op') - - -@Type.add_type('RANK') -class TypeRank(Type): - - def type_text(self, count_type=None): - return 'int' - - -@Type.add_type('TAG') -class TypeRank(Type): - - def type_text(self, count_type=None): - return 'int' - - -@Type.add_type('COMM', abi_type=['ompi']) -class TypeCommunicator(Type): - - def type_text(self, count_type=None): - return 'MPI_Comm' - - -@Type.add_type('COMM', abi_type=['standard']) -class TypeCommunicatorStandard(StandardABIType): - - @property - def init_code(self): - return [f'MPI_Comm {self.tmpname} = {ConvertFuncs.COMM}({self.name});'] - - def tmp_type_text(self, count_type=None): - return 'MPI_Comm' - - def return_code(self, name): - return [f'return {ConvertOMPIToStandard.COMM}({name});'] - - def type_text(self, count_type=None): - return self.mangle_name('MPI_Comm') - - -@Type.add_type('COMM_OUT', abi_type=['ompi']) -class TypeCommunicator(Type): - - def type_text(self, count_type=None): - return 'MPI_Comm *' - - -@Type.add_type('COMM_OUT', abi_type=['standard']) -class TypeCommunicator(Type): - - @property - def final_code(self): - return [f'*{self.name} = {ConvertOMPIToStandard.COMM}((MPI_Comm) *{self.name});'] - - def type_text(self, count_type=None): - type_name = self.mangle_name('MPI_Comm') - return f'{type_name} *' - - @property - def argument(self): - return f'(MPI_Comm *) {self.name}' - - -@Type.add_type('WIN', abi_type=['ompi']) -class TypeWindow(Type): - - def type_text(self, count_type=None): - return 'MPI_Win' - - -@Type.add_type('WIN', abi_type=['standard']) -class TypeWindowStandard(StandardABIType): - - @property - def init_code(self): - return [f'MPI_Win {self.tmpname} = {ConvertFuncs.WIN}({self.name});'] - - def type_text(self, count_type=None): - return self.mangle_name('MPI_Win') - - -@Type.add_type('REQUEST', abi_type=['ompi']) -class TypeRequest(Type): - - def type_text(self, count_type=None): - return 'MPI_Request' - - -@Type.add_type('REQUEST', abi_type=['standard']) -class TypeRequestStandard(Type): - - def type_text(self, count_type=None): - return self.mangle_name('MPI_Request') - - @property - def argument(self): - return f'(MPI_Request) {self.name}' - - -@Type.add_type('REQUEST_INOUT', abi_type=['ompi']) -class TypeRequestInOut(Type): - - def type_text(self, count_type=None): - return 'MPI_Request *' - - -@Type.add_type('REQUEST_INOUT', abi_type=['standard']) -class TypeRequestInOutStandard(Type): - - @property - def final_code(self): - if self.count_param is None: - return [f'{ConvertFuncs.REQUEST}({self.name});'] - else: - return [ - 'for (int i = 0; i < %s; ++i) {' % (self.count_param,), - f'{ConvertFuncs.REQUEST}(&{self.name}[i]);', - '}', - ] - - @property - def argument(self): - return f'(MPI_Request *) {self.name}' - - def type_text(self, count_type=None): - type_name = self.mangle_name('MPI_Request') - return f'{type_name} *' - - def parameter(self, count_type=None, **kwargs): - type_name = self.mangle_name('MPI_Request') - if self.count_param is None: - return f'{type_name} *{self.name}' - else: - return f'{type_name} {self.name}[]' - - -@Type.add_type('STATUS_OUT', abi_type=['ompi']) -class TypeStatusOut(Type): - - def type_text(self, count_type=None): - return 'MPI_Status *' - - def parameter(self, count_type=None, **kwargs): - if self.count_param is None: - return f'MPI_Status *{self.name}' - else: - return f'MPI_Status {self.name}[]' - - -@Type.add_type('STATUS_OUT', abi_type=['standard']) -class TypeStausOutStandard(StandardABIType): - - def if_should_set_status(self): - """Generate the condition to check if the status(es) should be set.""" - condition = ' && '.join(f'{self.mangle_name(const)} != {self.name}' - for const in IGNORED_STATUS_HANDLES) - return 'if (%s) {' % (condition,) - - @property - def status_argument(self): - return f'{self.name}_arg' - - @property - def init_code(self): - code = [f'MPI_Status *{self.status_argument} = NULL;'] - if self.count_param is None: - code.append(f'MPI_Status {self.tmpname};') - else: - code.append(f'MPI_Status *{self.tmpname} = NULL;') - code.append(self.if_should_set_status()) - if self.count_param is not None: - code.append(f'{self.tmpname} = malloc({self.count_param} * sizeof(MPI_Status));') - code.append(f'{self.status_argument} = {self.tmpname};') - else: - code.append(f'{self.status_argument} = &{self.tmpname};') - code.append('} else {') - if self.count_param is not None: - code.append(f'{self.status_argument} = MPI_STATUSES_IGNORE;') - else: - code.append(f'{self.status_argument} = MPI_STATUS_IGNORE;') - code.append('}') - return code - - @property - def final_code(self): - code = [self.if_should_set_status()] - if self.count_param is None: - code.append(f'{ConvertFuncs.STATUS}({self.name}, &{self.tmpname});') - else: - code.extend([ - 'for (int i = 0; i < %s; ++i) {' % (self.count_param,), - f'{ConvertFuncs.STATUS}(&{self.name}[i], &{self.tmpname}[i]);', - '}', - f'free({self.tmpname});', - ]) - code.append('}') - return code - - @property - def argument(self): - return self.status_argument - - def type_text(self, count_type=None): - type_name = self.mangle_name('MPI_Status') - return f'{type_name} *' - - def parameter(self, count_type=None, **kwargs): - type_name = self.mangle_name('MPI_Status') - if self.count_param is None: - return f'{type_name} *{self.name}' - else: - return f'{type_name} {self.name}[]' - - -# For now this just assumes that MPI_Fint doesn't need any conversions -@Type.add_type('FINT') -class TypeFint(Type): - - def type_text(self, count_type=None): - return 'MPI_Fint' - - -@Type.add_type('STRING') -class TypeString(Type): - - def type_text(self, count_type=None): - return 'const char *' - - -@Type.add_type('STRING_OUT') -class TypeStringOut(Type): - - def type_text(self, count_type=None): - return 'char *' - - -@Type.add_type('INFO', abi_type=['ompi']) -class TypeInfo(Type): - - def type_text(self, count_type=None): - return 'MPI_Info' - - -@Type.add_type('INFO', abi_type=['standard']) -class TypeInfoStandard(StandardABIType): - - @property - def init_code(self): - return [f'MPI_Info {self.tmpname} = {ConvertFuncs.INFO}({self.name});'] - - def type_text(self, count_type=None): - return self.mangle_name('MPI_Info') - - -@Type.add_type('FILE_OUT', abi_type=['ompi']) -class TypeFileOut(Type): - - def type_text(self, count_type=None): - return 'MPI_File *' - - -@Type.add_type('FILE_OUT', abi_type=['standard']) -class TypeFileOutStandard(Type): - - @property - def argument(self): - return f'(MPI_File *) {self.name}' - - @property - def final_code(self): - return [f'{ConvertFuncs.FILE}({self.name});'] - - def type_text(self, count_type=None): - type_name = self.mangle_name('MPI_File') - return f'{type_name} *' - - -class Prototype: - """MPI function prototype.""" - - def __init__(self, name, return_type, params): - self.name = name - self.return_type = return_type - self.params = params - - def signature(self, abi_type, fn_name, count_type=None, **kwargs): - """Build a signature with the given name and count_type.""" - params = ', '.join(param.construct(abi_type, **kwargs).parameter(count_type=count_type, **kwargs) - for param in self.params) - if not params: - params = 'void' - return_type_text = self.return_type.construct(abi_type, **kwargs).type_text(count_type=count_type) - return f'{return_type_text} {fn_name}({params})' - - @property - def need_bigcount(self): - """Check if a bigcount interface is required for a prototype.""" - return any('COUNT' in param.type_ for param in self.params) - - -class TemplateParseError(Exception): - """Error raised during parsing.""" - pass - - -def validate_body(body): - """Validate the body of a template.""" - # Just do a simple bracket balance test to determine the bounds of the - # function body. All lines after the function body should be blank. There - # are cases where this will break, such as if someone puts code all on one - # line. - bracket_balance = 0 - line_count = 0 - for line in body: - line = line.strip() - if bracket_balance == 0 and line_count > 0 and line: - raise TemplateParseError('Extra code found in template; only one function body is allowed') - - update = line.count('{') - line.count('}') - bracket_balance += update - if bracket_balance != 0: - line_count += 1 - - if bracket_balance != 0: - raise TemplateParseError('Mismatched brackets found in template') - - -class SourceTemplate: - """Source template for a single API function.""" - - def __init__(self, prototype, header, body): - self.prototype = prototype - self.header = header - self.body = body - - @staticmethod - def load(fname, prefix=None): - """Load a template file and return the SourceTemplate.""" - if prefix is not None: - fname = os.path.join(prefix, fname) - with open(fname) as fp: - header = [] - prototype = [] - body = [] - - for line in fp: - line = line.rstrip() - if prototype and line.startswith('PROTOTYPE'): - raise TemplateParseError('more than one prototype found in template file') - elif ((prototype and not any(')' in s for s in prototype)) - or line.startswith('PROTOTYPE')): - prototype.append(line) - elif prototype: - # Validate bracket balance - body.append(line) - else: - header.append(line) - - if not prototype: - raise RuntimeError('missing prototype') - # Parse the prototype - prototype = ''.join(prototype) - prototype = prototype[len('PROTOTYPE'):] - i = prototype.index('(') - j = prototype.index(')') - return_type, name = prototype[:i].split() - return_type = ReturnType(return_type) - params = [param.strip() for param in prototype[i + 1:j].split(',') if param.strip()] - params = [Parameter(param) for param in params] - prototype = Prototype(name, return_type, params) - # Ensure the body contains only one function - validate_body(body) - return SourceTemplate(prototype, header, body) - - def print_header(self, file=sys.stdout): - """Print the source header.""" - for line in self.header: - print(line, file=file) - - def print_body(self, func_name, file=sys.stdout): - """Print the body.""" - for line in self.body: - # FUNC_NAME is used for error messages - line = line.replace('FUNC_NAME', f'"{func_name}"') - print(line, file=file) - - -def print_profiling_header(fn_name, file=sys.stdout): - """Print the profiling header code.""" - print('#if OMPI_BUILD_MPI_PROFILING') - print('#if OPAL_HAVE_WEAK_SYMBOLS', file=file) - print(f'#pragma weak {fn_name} = P{fn_name}', file=file) - print('#endif', file=file) - print(f'#define {fn_name} P{fn_name}', file=file) - print('#endif') - - -def ompi_abi(base_name, template): - """Generate the OMPI ABI functions.""" - template.print_header() - print_profiling_header(base_name) - print(template.prototype.signature('ompi', base_name)) - template.print_body(func_name=base_name) - # Check if we need to generate the bigcount interface - if template.prototype.need_bigcount: - base_name_c = f'{base_name}_c' - print_profiling_header(base_name_c) - print(template.prototype.signature('ompi', base_name_c, count_type='MPI_Count')) - template.print_body(func_name=base_name_c) - - -ABI_INTERNAL_HEADER = 'ompi/mpi/c/abi.h' - - -def indent_lines(lines, tab, start=0): - """Crude pretty-printing function.""" - new_lines = [] - indent_count = start - for line in lines: - # Closing bracket - if '}' in line: - indent_count -= 1 - - prefix = indent_count * tab - new_lines.append(f'{prefix}{line}') - - # Opening bracket - if '{' in line: - indent_count += 1 - return new_lines - - -def standard_abi(base_name, template): - """Generate the standard ABI functions.""" - template.print_header() - print(f'#include "{ABI_INTERNAL_HEADER}"') - - # Static internal function (add a random component to avoid conflicts) - internal_name = f'ompi_abi_{template.prototype.name}' - internal_sig = template.prototype.signature('ompi', internal_name, - count_type='MPI_Count') - print(INLINE_ATTRS, internal_sig) - template.print_body(func_name=base_name) - - def generate_function(prototype, fn_name, internal_fn, count_type='int'): - """Generate a function for the standard ABI.""" - print_profiling_header(fn_name) - - # Handle type conversions and arguments - params = [param.construct('standard') for param in prototype.params] - print(prototype.signature('standard', fn_name, count_type=count_type)) - print('{') - lines = [] - return_type = prototype.return_type.construct('standard') - lines.append(f'{return_type.tmp_type_text()} ret_value;') - for param in params: - if param.init_code: - lines.extend(param.init_code) - pass_args = ', '.join(param.argument for param in params) - lines.append(f'ret_value = {internal_fn}({pass_args});') - for param in params: - if param.final_code: - lines.extend(param.final_code) - lines.extend(return_type.return_code('ret_value')) - - # Indent the lines - lines = indent_lines(lines, 4 * ' ', start=1) - for line in lines: - print(line) - print('}') - - generate_function(template.prototype, base_name, internal_name) - if template.prototype.need_bigcount: - base_name_c = f'{base_name}_c' - generate_function(template.prototype, base_name_c, internal_name, - count_type='MPI_Count') - - -def gen_header(args): - """Generate an ABI header and conversion code.""" - prototypes = [SourceTemplate.load(file_, args.srcdir).prototype for file_ in args.file] - - builder = ABIHeaderBuilder(prototypes, external=args.external) - builder.dump_header() - - -def gen_source(args): - """Generate source file.""" - template = SourceTemplate.load(args.source_file) - - base_name = mpi_fn_name_from_base_fn_name(template.prototype.name) - if args.type == 'ompi': - ompi_abi(base_name, template) - else: - standard_abi(base_name, template) - - -def main(): - if len(sys.argv) < 2: - # Fix required for Python 3.6 - print('ERROR: missing subparser argument (see --help)') - sys.exit(1) - - parser = argparse.ArgumentParser(description='generate ABI header file and conversion code') - subparsers = parser.add_subparsers() - - parser_header = subparsers.add_parser('header') - parser_header.add_argument('file', nargs='+', help='list of template source files') - parser_header.add_argument('--external', action='store_true', help='generate external mpi.h header file') - parser_header.add_argument('--srcdir', help='source directory') - parser_header.set_defaults(func=gen_header) - - parser_gen = subparsers.add_parser('source') - # parser = argparse.ArgumentParser(description='C ABI binding generation code') - parser_gen.add_argument('type', choices=('ompi', 'standard'), - help='generate the OMPI ABI functions or the standard ABI functions') - parser_gen.add_argument('source_file', help='source template file') - parser_gen.set_defaults(func=gen_source) - - args = parser.parse_args() - - # Always add the header - print('/* THIS FILE WAS AUTOGENERATED BY ompi/mpi/c/abi.py. DO NOT EDIT BY HAND. */') - args.func(args) - - -if __name__ == '__main__': - main() diff --git a/ompi/mpi/c/comm_create_keyval.c.in b/ompi/mpi/c/comm_create_keyval.c.in index 613881989c0..e8352be3773 100644 --- a/ompi/mpi/c/comm_create_keyval.c.in +++ b/ompi/mpi/c/comm_create_keyval.c.in @@ -49,12 +49,14 @@ PROTOTYPE ERROR_CLASS comm_create_keyval(COMM_COPY_ATTR_FUNCTION comm_copy_attr_ } } - copy_fn.attr_communicator_copy_fn = (MPI_Comm_copy_attr_function *)comm_copy_attr_fn; - del_fn.attr_communicator_delete_fn = (MPI_Comm_delete_attr_function *)comm_delete_attr_fn; - #if OMPI_ABI_SRC - flags |= OMPI_KEYVAL_ABI; + copy_fn.attr_communicator_copy_fn = ompi_abi_copy_attr_fn; + del_fn.attr_communicator_delete_fn = ompi_abi_delete_attr_fn; +#else + copy_fn.attr_communicator_copy_fn = comm_copy_attr_fn; + del_fn.attr_communicator_delete_fn = comm_delete_attr_fn; #endif + ret = ompi_attr_create_keyval(COMM_ATTR, copy_fn, del_fn, comm_keyval, extra_state, flags, NULL); diff --git a/ompi/mpi/c/type_create_keyval.c.in b/ompi/mpi/c/type_create_keyval.c.in index 7df25a437c1..f1494559c82 100644 --- a/ompi/mpi/c/type_create_keyval.c.in +++ b/ompi/mpi/c/type_create_keyval.c.in @@ -50,11 +50,12 @@ PROTOTYPE ERROR_CLASS type_create_keyval(TYPE_COPY_ATTR_FUNCTION type_copy_attr_ } } +#if OMPI_ABI_SRC + copy_fn.attr_datatype_copy_fn = ompi_abi_copy_attr_fn; + del_fn.attr_datatype_delete_fn = ompi_abi_delete_attr_fn; +#else copy_fn.attr_datatype_copy_fn = type_copy_attr_fn; del_fn.attr_datatype_delete_fn = type_delete_attr_fn; - -#if OMPI_ABI_SRC - flags |= OMPI_KEYVAL_ABI; #endif ret = ompi_attr_create_keyval(TYPE_ATTR, copy_fn, del_fn, diff --git a/ompi/mpi/c/win_create_keyval.c.in b/ompi/mpi/c/win_create_keyval.c.in index c02337ebd0c..f23b8c648d0 100644 --- a/ompi/mpi/c/win_create_keyval.c.in +++ b/ompi/mpi/c/win_create_keyval.c.in @@ -48,11 +48,12 @@ PROTOTYPE ERROR_CLASS win_create_keyval(WIN_COPY_ATTR_FUNCTION win_copy_attr_fn, } } - copy_fn.attr_win_copy_fn = (MPI_Win_copy_attr_function *)win_copy_attr_fn; - del_fn.attr_win_delete_fn = (MPI_Win_delete_attr_function *)win_delete_attr_fn; - #if OMPI_ABI_SRC - flags |= OMPI_KEYVAL_ABI; + copy_fn.attr_win_copy_fn = ompi_abi_copy_attr_fn; + del_fn.attr_win_delete_fn = ompi_abi_delete_attr_fn; +#else + copy_fn.attr_win_copy_fn = win_copy_attr_fn; + del_fn.attr_win_delete_fn = win_delete_attr_fn; #endif ret = ompi_attr_create_keyval(WIN_ATTR, copy_fn, del_fn, From 50afcac7bfd48e27be98200e0289a2c28cd887d5 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Tue, 29 Jul 2025 11:35:45 -0600 Subject: [PATCH 08/14] abi: move converter functions to a persistent file Signed-off-by: Howard Pritchard --- ompi/mpi/bindings/ompi_bindings/c.py | 59 +-- ompi/mpi/c/abi_converters.h | 567 +++++++++++++++++++++++++++ 2 files changed, 599 insertions(+), 27 deletions(-) create mode 100644 ompi/mpi/c/abi_converters.h diff --git a/ompi/mpi/bindings/ompi_bindings/c.py b/ompi/mpi/bindings/ompi_bindings/c.py index c9ba51af75a..e51260b55fa 100644 --- a/ompi/mpi/bindings/ompi_bindings/c.py +++ b/ompi/mpi/bindings/ompi_bindings/c.py @@ -351,33 +351,36 @@ def dump_header(self): self.dump('int MPI_Abi_supported(int *flag);') self.dump('int MPI_Abi_version(int *abi_major, int *abi_minor);') - if not self.external: - # Now generate the conversion code - self.generate_error_convert_fn() - self.generate_comm_convert_fn() - self.generate_comm_convert_fn_intern_to_abi() - self.generate_info_convert_fn() - self.generate_info_convert_fn_intern_to_abi() - self.generate_file_convert_fn() - self.generate_file_convert_fn_intern_to_abi() - self.generate_group_convert_fn() - self.generate_group_convert_fn_intern_to_abi() - self.generate_datatype_convert_fn() - self.generate_datatype_convert_fn_intern_to_abi() - self.generate_errhandler_convert_fn() - self.generate_errhandler_convert_fn_intern_to_abi() - self.generate_message_convert_fn() - self.generate_message_convert_fn_intern_to_abi() - self.generate_op_convert_fn() - self.generate_op_convert_fn_intern_to_abi() - self.generate_session_convert_fn() - self.generate_session_convert_fn_intern_to_abi() - self.generate_win_convert_fn() - self.generate_win_convert_fn_intern_to_abi() - self.generate_request_convert_fn() - self.generate_request_convert_fn_intern_to_abi() - self.generate_status_convert_fn() - self.generate_status_convert_fn_intern_to_abi() +# +# the converters are no longer generated +# +# if not self.external: +# # Now generate the conversion code +# self.generate_error_convert_fn() +# self.generate_comm_convert_fn() +# self.generate_comm_convert_fn_intern_to_abi() +# self.generate_info_convert_fn() +# self.generate_info_convert_fn_intern_to_abi() +# self.generate_file_convert_fn() +# self.generate_file_convert_fn_intern_to_abi() +# self.generate_group_convert_fn() +# self.generate_group_convert_fn_intern_to_abi() +# self.generate_datatype_convert_fn() +# self.generate_datatype_convert_fn_intern_to_abi() +# self.generate_errhandler_convert_fn() +# self.generate_errhandler_convert_fn_intern_to_abi() +# self.generate_message_convert_fn() +# self.generate_message_convert_fn_intern_to_abi() +# self.generate_op_convert_fn() +# self.generate_op_convert_fn_intern_to_abi() +# self.generate_session_convert_fn() +# self.generate_session_convert_fn_intern_to_abi() +# self.generate_win_convert_fn() +# self.generate_win_convert_fn_intern_to_abi() +# self.generate_request_convert_fn() +# self.generate_request_convert_fn_intern_to_abi() +# self.generate_status_convert_fn() +# self.generate_status_convert_fn_intern_to_abi() self.dump(""" #if defined(c_plusplus) || defined(__cplusplus) @@ -432,12 +435,14 @@ def ompi_abi(base_name, template, out): ABI_INTERNAL_HEADER = 'ompi/mpi/c/abi.h' +ABI_INTERNAL_CONVERTOR = 'ompi/mpi/c/abi_converters.h' def standard_abi(base_name, template, out): """Generate the standard ABI functions.""" template.print_header(out) out.dump(f'#include "{ABI_INTERNAL_HEADER}"') + out.dump(f'#include "{ABI_INTERNAL_CONVERTOR}"') print_cdefs_for_abi(out,abi_type='standard') # If any parameters are pointers to user callback functions, generate code diff --git a/ompi/mpi/c/abi_converters.h b/ompi/mpi/c/abi_converters.h new file mode 100644 index 00000000000..d274dd1a8f6 --- /dev/null +++ b/ompi/mpi/c/abi_converters.h @@ -0,0 +1,567 @@ +/* + * Copyright (c) 2025 Triad National Security, LLC. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef _ABI_CONVERTORS_ +#define _ABI_CONVERTORS_ + +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" { +#endif + +__opal_attribute_always_inline__ static inline int ompi_convert_abi_error_intern_error(int error_class) +{ + switch (error_class) { + case MPI_SUCCESS_ABI_INTERNAL: + return MPI_SUCCESS; + case MPI_ERR_BUFFER_ABI_INTERNAL: + return MPI_ERR_BUFFER; + case MPI_ERR_COUNT_ABI_INTERNAL: + return MPI_ERR_COUNT; + case MPI_ERR_TYPE_ABI_INTERNAL: + return MPI_ERR_TYPE; + case MPI_ERR_TAG_ABI_INTERNAL: + return MPI_ERR_TAG; + case MPI_ERR_COMM_ABI_INTERNAL: + return MPI_ERR_COMM; + case MPI_ERR_RANK_ABI_INTERNAL: + return MPI_ERR_RANK; + case MPI_ERR_REQUEST_ABI_INTERNAL: + return MPI_ERR_REQUEST; + case MPI_ERR_ROOT_ABI_INTERNAL: + return MPI_ERR_ROOT; + case MPI_ERR_GROUP_ABI_INTERNAL: + return MPI_ERR_GROUP; + case MPI_ERR_OP_ABI_INTERNAL: + return MPI_ERR_OP; + case MPI_ERR_TOPOLOGY_ABI_INTERNAL: + return MPI_ERR_TOPOLOGY; + case MPI_ERR_DIMS_ABI_INTERNAL: + return MPI_ERR_DIMS; + case MPI_ERR_ARG_ABI_INTERNAL: + return MPI_ERR_ARG; + case MPI_ERR_UNKNOWN_ABI_INTERNAL: + return MPI_ERR_UNKNOWN; + case MPI_ERR_TRUNCATE_ABI_INTERNAL: + return MPI_ERR_TRUNCATE; + case MPI_ERR_OTHER_ABI_INTERNAL: + return MPI_ERR_OTHER; + case MPI_ERR_INTERN_ABI_INTERNAL: + return MPI_ERR_INTERN; + case MPI_ERR_PENDING_ABI_INTERNAL: + return MPI_ERR_PENDING; + case MPI_ERR_IN_STATUS_ABI_INTERNAL: + return MPI_ERR_IN_STATUS; + case MPI_ERR_ACCESS_ABI_INTERNAL: + return MPI_ERR_ACCESS; + case MPI_ERR_AMODE_ABI_INTERNAL: + return MPI_ERR_AMODE; + case MPI_ERR_ASSERT_ABI_INTERNAL: + return MPI_ERR_ASSERT; + case MPI_ERR_BAD_FILE_ABI_INTERNAL: + return MPI_ERR_BAD_FILE; + case MPI_ERR_BASE_ABI_INTERNAL: + return MPI_ERR_BASE; + case MPI_ERR_CONVERSION_ABI_INTERNAL: + return MPI_ERR_CONVERSION; + case MPI_ERR_DISP_ABI_INTERNAL: + return MPI_ERR_DISP; + case MPI_ERR_DUP_DATAREP_ABI_INTERNAL: + return MPI_ERR_DUP_DATAREP; + case MPI_ERR_FILE_EXISTS_ABI_INTERNAL: + return MPI_ERR_FILE_EXISTS; + case MPI_ERR_FILE_IN_USE_ABI_INTERNAL: + return MPI_ERR_FILE_IN_USE; + case MPI_ERR_FILE_ABI_INTERNAL: + return MPI_ERR_FILE; + case MPI_ERR_INFO_KEY_ABI_INTERNAL: + return MPI_ERR_INFO_KEY; + case MPI_ERR_INFO_NOKEY_ABI_INTERNAL: + return MPI_ERR_INFO_NOKEY; + case MPI_ERR_INFO_VALUE_ABI_INTERNAL: + return MPI_ERR_INFO_VALUE; + case MPI_ERR_INFO_ABI_INTERNAL: + return MPI_ERR_INFO; + case MPI_ERR_IO_ABI_INTERNAL: + return MPI_ERR_IO; + case MPI_ERR_KEYVAL_ABI_INTERNAL: + return MPI_ERR_KEYVAL; + case MPI_ERR_LOCKTYPE_ABI_INTERNAL: + return MPI_ERR_LOCKTYPE; + case MPI_ERR_NAME_ABI_INTERNAL: + return MPI_ERR_NAME; + case MPI_ERR_NO_MEM_ABI_INTERNAL: + return MPI_ERR_NO_MEM; + case MPI_ERR_NOT_SAME_ABI_INTERNAL: + return MPI_ERR_NOT_SAME; + case MPI_ERR_NO_SPACE_ABI_INTERNAL: + return MPI_ERR_NO_SPACE; + case MPI_ERR_NO_SUCH_FILE_ABI_INTERNAL: + return MPI_ERR_NO_SUCH_FILE; + case MPI_ERR_PORT_ABI_INTERNAL: + return MPI_ERR_PORT; + case MPI_ERR_PROC_ABORTED_ABI_INTERNAL: + return MPI_ERR_PROC_ABORTED; + case MPI_ERR_QUOTA_ABI_INTERNAL: + return MPI_ERR_QUOTA; + case MPI_ERR_READ_ONLY_ABI_INTERNAL: + return MPI_ERR_READ_ONLY; + case MPI_ERR_RMA_ATTACH_ABI_INTERNAL: + return MPI_ERR_RMA_ATTACH; + case MPI_ERR_RMA_CONFLICT_ABI_INTERNAL: + return MPI_ERR_RMA_CONFLICT; + case MPI_ERR_RMA_RANGE_ABI_INTERNAL: + return MPI_ERR_RMA_RANGE; + case MPI_ERR_RMA_SHARED_ABI_INTERNAL: + return MPI_ERR_RMA_SHARED; + case MPI_ERR_RMA_SYNC_ABI_INTERNAL: + return MPI_ERR_RMA_SYNC; + case MPI_ERR_RMA_FLAVOR_ABI_INTERNAL: + return MPI_ERR_RMA_FLAVOR; + case MPI_ERR_SERVICE_ABI_INTERNAL: + return MPI_ERR_SERVICE; + case MPI_ERR_SESSION_ABI_INTERNAL: + return MPI_ERR_SESSION; + case MPI_ERR_SIZE_ABI_INTERNAL: + return MPI_ERR_SIZE; + case MPI_ERR_SPAWN_ABI_INTERNAL: + return MPI_ERR_SPAWN; + case MPI_ERR_UNSUPPORTED_DATAREP_ABI_INTERNAL: + return MPI_ERR_UNSUPPORTED_DATAREP; + case MPI_ERR_UNSUPPORTED_OPERATION_ABI_INTERNAL: + return MPI_ERR_UNSUPPORTED_OPERATION; + case MPI_ERR_WIN_ABI_INTERNAL: + return MPI_ERR_WIN; + case MPI_T_ERR_CANNOT_INIT_ABI_INTERNAL: + return MPI_T_ERR_CANNOT_INIT; + case MPI_T_ERR_NOT_INITIALIZED_ABI_INTERNAL: + return MPI_T_ERR_NOT_INITIALIZED; + case MPI_T_ERR_MEMORY_ABI_INTERNAL: + return MPI_T_ERR_MEMORY; + case MPI_T_ERR_INVALID_ABI_INTERNAL: + return MPI_T_ERR_INVALID; + case MPI_T_ERR_INVALID_INDEX_ABI_INTERNAL: + return MPI_T_ERR_INVALID_INDEX; + case MPI_T_ERR_INVALID_ITEM_ABI_INTERNAL: + return MPI_T_ERR_INVALID_ITEM; + case MPI_T_ERR_INVALID_SESSION_ABI_INTERNAL: + return MPI_T_ERR_INVALID_SESSION; + case MPI_T_ERR_INVALID_HANDLE_ABI_INTERNAL: + return MPI_T_ERR_INVALID_HANDLE; + case MPI_T_ERR_INVALID_NAME_ABI_INTERNAL: + return MPI_T_ERR_INVALID_NAME; + case MPI_T_ERR_OUT_OF_HANDLES_ABI_INTERNAL: + return MPI_T_ERR_OUT_OF_HANDLES; + case MPI_T_ERR_OUT_OF_SESSIONS_ABI_INTERNAL: + return MPI_T_ERR_OUT_OF_SESSIONS; + case MPI_T_ERR_CVAR_SET_NOT_NOW_ABI_INTERNAL: + return MPI_T_ERR_CVAR_SET_NOT_NOW; + case MPI_T_ERR_CVAR_SET_NEVER_ABI_INTERNAL: + return MPI_T_ERR_CVAR_SET_NEVER; + case MPI_T_ERR_PVAR_NO_WRITE_ABI_INTERNAL: + return MPI_T_ERR_PVAR_NO_WRITE; + case MPI_T_ERR_PVAR_NO_STARTSTOP_ABI_INTERNAL: + return MPI_T_ERR_PVAR_NO_STARTSTOP; + case MPI_T_ERR_PVAR_NO_ATOMIC_ABI_INTERNAL: + return MPI_T_ERR_PVAR_NO_ATOMIC; + case MPI_ERR_LASTCODE_ABI_INTERNAL: + return MPI_ERR_LASTCODE; + default: + return error_class; + } +} +__opal_attribute_always_inline__ static inline MPI_Comm ompi_convert_abi_comm_intern_comm(MPI_Comm_ABI_INTERNAL comm) +{ + if (MPI_COMM_NULL_ABI_INTERNAL == comm) { + return MPI_COMM_NULL; + } else if (MPI_COMM_WORLD_ABI_INTERNAL == comm) { + return MPI_COMM_WORLD; + } else if (MPI_COMM_SELF_ABI_INTERNAL == comm) { + return MPI_COMM_SELF; + } + return (MPI_Comm) comm; +} +__opal_attribute_always_inline__ static inline MPI_Comm_ABI_INTERNAL ompi_convert_comm_ompi_to_standard(MPI_Comm comm) +{ + if (MPI_COMM_NULL == comm) { + return MPI_COMM_NULL_ABI_INTERNAL; + } else if (MPI_COMM_WORLD == comm) { + return MPI_COMM_WORLD_ABI_INTERNAL; + } else if (MPI_COMM_SELF == comm) { + return MPI_COMM_SELF_ABI_INTERNAL; + } + return (MPI_Comm_ABI_INTERNAL) comm; +} +__opal_attribute_always_inline__ static inline MPI_Info ompi_convert_abi_info_intern_info(MPI_Info_ABI_INTERNAL info) +{ + if (MPI_INFO_ENV_ABI_INTERNAL == info) { + return MPI_INFO_ENV; + } else if (MPI_INFO_NULL_ABI_INTERNAL == info) { + return MPI_INFO_NULL; + } + return (MPI_Info) info; +} +__opal_attribute_always_inline__ static inline MPI_Info_ABI_INTERNAL ompi_convert_info_ompi_to_standard(MPI_Info info) +{ + if (MPI_INFO_ENV == info) { + return MPI_INFO_ENV_ABI_INTERNAL; + } else if (MPI_INFO_NULL == info) { + return MPI_INFO_NULL_ABI_INTERNAL; + } + return (MPI_Info_ABI_INTERNAL) info; +} +__opal_attribute_always_inline__ static inline MPI_File ompi_convert_abi_file_intern_file(MPI_File_ABI_INTERNAL file) +{ + if (MPI_FILE_NULL_ABI_INTERNAL == file) { + return MPI_FILE_NULL; + } + return (MPI_File) file; +} +__opal_attribute_always_inline__ static inline MPI_File_ABI_INTERNAL ompi_convert_file_ompi_to_standard(MPI_File file) +{ + if (MPI_FILE_NULL == file) { + return MPI_FILE_NULL_ABI_INTERNAL; + } + return (MPI_File_ABI_INTERNAL) file; +} +__opal_attribute_always_inline__ static inline MPI_Group ompi_convert_abi_group_intern_group(MPI_Group_ABI_INTERNAL group) +{ + if (MPI_GROUP_NULL_ABI_INTERNAL == group) { + return MPI_GROUP_NULL; + } + return (MPI_Group) group; +} +__opal_attribute_always_inline__ static inline MPI_Group_ABI_INTERNAL ompi_convert_group_ompi_to_standard(MPI_Group group) +{ + if (MPI_GROUP_NULL == group) { + return MPI_GROUP_NULL_ABI_INTERNAL; + } + return (MPI_Group_ABI_INTERNAL) group; +} +__opal_attribute_always_inline__ static inline MPI_Datatype ompi_convert_abi_datatype_intern_datatype(MPI_Datatype_ABI_INTERNAL datatype) +{ + if (MPI_CHAR_ABI_INTERNAL == datatype) { + return MPI_CHAR; + } else if (MPI_SHORT_ABI_INTERNAL == datatype) { + return MPI_SHORT; + } else if (MPI_INT_ABI_INTERNAL == datatype) { + return MPI_INT; + } else if (MPI_LONG_ABI_INTERNAL == datatype) { + return MPI_LONG; + } else if (MPI_LONG_LONG_INT_ABI_INTERNAL == datatype) { + return MPI_LONG_LONG_INT; + } else if (MPI_LONG_LONG_ABI_INTERNAL == datatype) { + return MPI_LONG_LONG; + } else if (MPI_SIGNED_CHAR_ABI_INTERNAL == datatype) { + return MPI_SIGNED_CHAR; + } else if (MPI_UNSIGNED_CHAR_ABI_INTERNAL == datatype) { + return MPI_UNSIGNED_CHAR; + } else if (MPI_UNSIGNED_SHORT_ABI_INTERNAL == datatype) { + return MPI_UNSIGNED_SHORT; + } else if (MPI_UNSIGNED_ABI_INTERNAL == datatype) { + return MPI_UNSIGNED; + } else if (MPI_UNSIGNED_LONG_ABI_INTERNAL == datatype) { + return MPI_UNSIGNED_LONG; + } else if (MPI_UNSIGNED_LONG_LONG_ABI_INTERNAL == datatype) { + return MPI_UNSIGNED_LONG_LONG; + } else if (MPI_FLOAT_ABI_INTERNAL == datatype) { + return MPI_FLOAT; + } else if (MPI_DOUBLE_ABI_INTERNAL == datatype) { + return MPI_DOUBLE; + } else if (MPI_LONG_DOUBLE_ABI_INTERNAL == datatype) { + return MPI_LONG_DOUBLE; + } else if (MPI_WCHAR_ABI_INTERNAL == datatype) { + return MPI_WCHAR; + } else if (MPI_C_BOOL_ABI_INTERNAL == datatype) { + return MPI_C_BOOL; + } else if (MPI_INT8_T_ABI_INTERNAL == datatype) { + return MPI_INT8_T; + } else if (MPI_INT16_T_ABI_INTERNAL == datatype) { + return MPI_INT16_T; + } else if (MPI_INT32_T_ABI_INTERNAL == datatype) { + return MPI_INT32_T; + } else if (MPI_INT64_T_ABI_INTERNAL == datatype) { + return MPI_INT64_T; + } else if (MPI_UINT8_T_ABI_INTERNAL == datatype) { + return MPI_UINT8_T; + } else if (MPI_UINT16_T_ABI_INTERNAL == datatype) { + return MPI_UINT16_T; + } else if (MPI_UINT32_T_ABI_INTERNAL == datatype) { + return MPI_UINT32_T; + } else if (MPI_UINT64_T_ABI_INTERNAL == datatype) { + return MPI_UINT64_T; + } else if (MPI_AINT_ABI_INTERNAL == datatype) { + return MPI_AINT; + } else if (MPI_COUNT_ABI_INTERNAL == datatype) { + return MPI_COUNT; + } else if (MPI_OFFSET_ABI_INTERNAL == datatype) { + return MPI_OFFSET; + } else if (MPI_C_COMPLEX_ABI_INTERNAL == datatype) { + return MPI_C_COMPLEX; + } else if (MPI_C_FLOAT_COMPLEX_ABI_INTERNAL == datatype) { + return MPI_C_FLOAT_COMPLEX; + } else if (MPI_C_DOUBLE_COMPLEX_ABI_INTERNAL == datatype) { + return MPI_C_DOUBLE_COMPLEX; + } else if (MPI_C_LONG_DOUBLE_COMPLEX_ABI_INTERNAL == datatype) { + return MPI_C_LONG_DOUBLE_COMPLEX; + } else if (MPI_BYTE_ABI_INTERNAL == datatype) { + return MPI_BYTE; + } else if (MPI_PACKED_ABI_INTERNAL == datatype) { + return MPI_PACKED; + } else if (MPI_CXX_BOOL_ABI_INTERNAL == datatype) { + return MPI_CXX_BOOL; + } else if (MPI_CXX_FLOAT_COMPLEX_ABI_INTERNAL == datatype) { + return MPI_CXX_FLOAT_COMPLEX; + } else if (MPI_CXX_DOUBLE_COMPLEX_ABI_INTERNAL == datatype) { + return MPI_CXX_DOUBLE_COMPLEX; + } else if (MPI_CXX_LONG_DOUBLE_COMPLEX_ABI_INTERNAL == datatype) { + return MPI_CXX_LONG_DOUBLE_COMPLEX; + } else if (MPI_FLOAT_INT_ABI_INTERNAL == datatype) { + return MPI_FLOAT_INT; + } else if (MPI_DOUBLE_INT_ABI_INTERNAL == datatype) { + return MPI_DOUBLE_INT; + } else if (MPI_LONG_INT_ABI_INTERNAL == datatype) { + return MPI_LONG_INT; + } else if (MPI_2INT_ABI_INTERNAL == datatype) { + return MPI_2INT; + } else if (MPI_SHORT_INT_ABI_INTERNAL == datatype) { + return MPI_SHORT_INT; + } else if (MPI_LONG_DOUBLE_INT_ABI_INTERNAL == datatype) { + return MPI_LONG_DOUBLE_INT; + } + return (MPI_Datatype) datatype; +} +__opal_attribute_always_inline__ static inline MPI_Datatype_ABI_INTERNAL ompi_convert_datatype_ompi_to_standard(MPI_Datatype datatype) +{ + if (MPI_CHAR == datatype) { + return MPI_CHAR_ABI_INTERNAL; + } else if (MPI_SHORT == datatype) { + return MPI_SHORT_ABI_INTERNAL; + } else if (MPI_INT == datatype) { + return MPI_INT_ABI_INTERNAL; + } else if (MPI_LONG == datatype) { + return MPI_LONG_ABI_INTERNAL; + } else if (MPI_LONG_LONG_INT == datatype) { + return MPI_LONG_LONG_INT_ABI_INTERNAL; + } else if (MPI_LONG_LONG == datatype) { + return MPI_LONG_LONG_ABI_INTERNAL; + } else if (MPI_SIGNED_CHAR == datatype) { + return MPI_SIGNED_CHAR_ABI_INTERNAL; + } else if (MPI_UNSIGNED_CHAR == datatype) { + return MPI_UNSIGNED_CHAR_ABI_INTERNAL; + } else if (MPI_UNSIGNED_SHORT == datatype) { + return MPI_UNSIGNED_SHORT_ABI_INTERNAL; + } else if (MPI_UNSIGNED == datatype) { + return MPI_UNSIGNED_ABI_INTERNAL; + } else if (MPI_UNSIGNED_LONG == datatype) { + return MPI_UNSIGNED_LONG_ABI_INTERNAL; + } else if (MPI_UNSIGNED_LONG_LONG == datatype) { + return MPI_UNSIGNED_LONG_LONG_ABI_INTERNAL; + } else if (MPI_FLOAT == datatype) { + return MPI_FLOAT_ABI_INTERNAL; + } else if (MPI_DOUBLE == datatype) { + return MPI_DOUBLE_ABI_INTERNAL; + } else if (MPI_LONG_DOUBLE == datatype) { + return MPI_LONG_DOUBLE_ABI_INTERNAL; + } else if (MPI_WCHAR == datatype) { + return MPI_WCHAR_ABI_INTERNAL; + } else if (MPI_C_BOOL == datatype) { + return MPI_C_BOOL_ABI_INTERNAL; + } else if (MPI_INT8_T == datatype) { + return MPI_INT8_T_ABI_INTERNAL; + } else if (MPI_INT16_T == datatype) { + return MPI_INT16_T_ABI_INTERNAL; + } else if (MPI_INT32_T == datatype) { + return MPI_INT32_T_ABI_INTERNAL; + } else if (MPI_INT64_T == datatype) { + return MPI_INT64_T_ABI_INTERNAL; + } else if (MPI_UINT8_T == datatype) { + return MPI_UINT8_T_ABI_INTERNAL; + } else if (MPI_UINT16_T == datatype) { + return MPI_UINT16_T_ABI_INTERNAL; + } else if (MPI_UINT32_T == datatype) { + return MPI_UINT32_T_ABI_INTERNAL; + } else if (MPI_UINT64_T == datatype) { + return MPI_UINT64_T_ABI_INTERNAL; + } else if (MPI_AINT == datatype) { + return MPI_AINT_ABI_INTERNAL; + } else if (MPI_COUNT == datatype) { + return MPI_COUNT_ABI_INTERNAL; + } else if (MPI_OFFSET == datatype) { + return MPI_OFFSET_ABI_INTERNAL; + } else if (MPI_C_COMPLEX == datatype) { + return MPI_C_COMPLEX_ABI_INTERNAL; + } else if (MPI_C_FLOAT_COMPLEX == datatype) { + return MPI_C_FLOAT_COMPLEX_ABI_INTERNAL; + } else if (MPI_C_DOUBLE_COMPLEX == datatype) { + return MPI_C_DOUBLE_COMPLEX_ABI_INTERNAL; + } else if (MPI_C_LONG_DOUBLE_COMPLEX == datatype) { + return MPI_C_LONG_DOUBLE_COMPLEX_ABI_INTERNAL; + } else if (MPI_BYTE == datatype) { + return MPI_BYTE_ABI_INTERNAL; + } else if (MPI_PACKED == datatype) { + return MPI_PACKED_ABI_INTERNAL; + } else if (MPI_CXX_BOOL == datatype) { + return MPI_CXX_BOOL_ABI_INTERNAL; + } else if (MPI_CXX_FLOAT_COMPLEX == datatype) { + return MPI_CXX_FLOAT_COMPLEX_ABI_INTERNAL; + } else if (MPI_CXX_DOUBLE_COMPLEX == datatype) { + return MPI_CXX_DOUBLE_COMPLEX_ABI_INTERNAL; + } else if (MPI_CXX_LONG_DOUBLE_COMPLEX == datatype) { + return MPI_CXX_LONG_DOUBLE_COMPLEX_ABI_INTERNAL; + } else if (MPI_FLOAT_INT == datatype) { + return MPI_FLOAT_INT_ABI_INTERNAL; + } else if (MPI_DOUBLE_INT == datatype) { + return MPI_DOUBLE_INT_ABI_INTERNAL; + } else if (MPI_LONG_INT == datatype) { + return MPI_LONG_INT_ABI_INTERNAL; + } else if (MPI_2INT == datatype) { + return MPI_2INT_ABI_INTERNAL; + } else if (MPI_SHORT_INT == datatype) { + return MPI_SHORT_INT_ABI_INTERNAL; + } else if (MPI_LONG_DOUBLE_INT == datatype) { + return MPI_LONG_DOUBLE_INT_ABI_INTERNAL; + } + return (MPI_Datatype_ABI_INTERNAL) datatype; +} +__opal_attribute_always_inline__ static inline MPI_Errhandler ompi_convert_abi_errorhandler_intern_errorhandler(MPI_Errhandler_ABI_INTERNAL errorhandler) +{ + if (MPI_ERRHANDLER_NULL_ABI_INTERNAL == errorhandler) { + return MPI_ERRHANDLER_NULL; + } + return (MPI_Errhandler) errorhandler; +} +__opal_attribute_always_inline__ static inline MPI_Errhandler_ABI_INTERNAL ompi_convert_intern_errorhandler_abi_errorhandler(MPI_Errhandler errorhandler) +{ + if (MPI_ERRHANDLER_NULL == errorhandler) { + return MPI_ERRHANDLER_NULL_ABI_INTERNAL; + } + return (MPI_Errhandler_ABI_INTERNAL) errorhandler; +} +__opal_attribute_always_inline__ static inline MPI_Message ompi_convert_abi_message_intern_message(MPI_Message_ABI_INTERNAL message) +{ + if (MPI_MESSAGE_NULL_ABI_INTERNAL == message) { + return MPI_MESSAGE_NULL; + } else if (MPI_MESSAGE_NO_PROC_ABI_INTERNAL == message) { + return MPI_MESSAGE_NO_PROC; + } + return (MPI_Message) message; +} +__opal_attribute_always_inline__ static inline MPI_Message_ABI_INTERNAL ompi_convert_message_ompi_to_standard(MPI_Message message) +{ + if (MPI_MESSAGE_NULL == message) { + return MPI_MESSAGE_NULL_ABI_INTERNAL; + } else if (MPI_MESSAGE_NO_PROC == message) { + return MPI_MESSAGE_NO_PROC_ABI_INTERNAL; + } + return (MPI_Message_ABI_INTERNAL) message; +} +__opal_attribute_always_inline__ static inline MPI_Op ompi_convert_abi_op_intern_op(MPI_Op_ABI_INTERNAL op) +{ + if (MPI_MAX_ABI_INTERNAL == op) { + return MPI_MAX; + } else if (MPI_MIN_ABI_INTERNAL == op) { + return MPI_MIN; + } else if (MPI_SUM_ABI_INTERNAL == op) { + return MPI_SUM; + } else if (MPI_PROD_ABI_INTERNAL == op) { + return MPI_PROD; + } else if (MPI_MAXLOC_ABI_INTERNAL == op) { + return MPI_MAXLOC; + } else if (MPI_MINLOC_ABI_INTERNAL == op) { + return MPI_MINLOC; + } else if (MPI_BAND_ABI_INTERNAL == op) { + return MPI_BAND; + } else if (MPI_BOR_ABI_INTERNAL == op) { + return MPI_BOR; + } else if (MPI_BXOR_ABI_INTERNAL == op) { + return MPI_BXOR; + } else if (MPI_LAND_ABI_INTERNAL == op) { + return MPI_LAND; + } else if (MPI_LOR_ABI_INTERNAL == op) { + return MPI_LOR; + } else if (MPI_LXOR_ABI_INTERNAL == op) { + return MPI_LXOR; + } else if (MPI_REPLACE_ABI_INTERNAL == op) { + return MPI_REPLACE; + } else if (MPI_NO_OP_ABI_INTERNAL == op) { + return MPI_NO_OP; + } + return (MPI_Op) op; +} +__opal_attribute_always_inline__ static inline MPI_Op_ABI_INTERNAL ompi_convert_op_ompi_to_standard(MPI_Op op) +{ + if (MPI_OP_NULL == op) { + return MPI_OP_NULL_ABI_INTERNAL; + } + return (MPI_Op_ABI_INTERNAL) op; +} +__opal_attribute_always_inline__ static inline MPI_Session ompi_convert_abi_session_intern_session(MPI_Session_ABI_INTERNAL session) +{ + if (MPI_SESSION_NULL_ABI_INTERNAL == session) { + return MPI_SESSION_NULL; + } + return (MPI_Session) session; +} +__opal_attribute_always_inline__ static inline MPI_Session_ABI_INTERNAL ompi_convert_session_ompi_to_standard(MPI_Session session) +{ + if (MPI_SESSION_NULL == session) { + return MPI_SESSION_NULL_ABI_INTERNAL; + } + return (MPI_Session_ABI_INTERNAL) session; +} +__opal_attribute_always_inline__ static inline MPI_Win ompi_convert_abi_win_intern_win(MPI_Win_ABI_INTERNAL win) +{ + if (MPI_WIN_NULL_ABI_INTERNAL == win) { + return MPI_WIN_NULL; + } + return (MPI_Win) win; +} +__opal_attribute_always_inline__ static inline MPI_Win_ABI_INTERNAL ompi_convert_win_ompi_to_standard(MPI_Win win) +{ + if (MPI_WIN_NULL == win) { + return MPI_WIN_NULL_ABI_INTERNAL; + } + return (MPI_Win_ABI_INTERNAL) win; +} +__opal_attribute_always_inline__ static inline void ompi_convert_abi_request_intern_request(MPI_Request_ABI_INTERNAL *ptr) +{ + if (MPI_REQUEST_NULL == (MPI_Request) *ptr) { + *ptr = MPI_REQUEST_NULL_ABI_INTERNAL; + } +} +__opal_attribute_always_inline__ static inline MPI_Request_ABI_INTERNAL ompi_convert_ompi_request_abi_request(MPI_Request request) +{ + if (MPI_REQUEST_NULL == request) { + return MPI_REQUEST_NULL_ABI_INTERNAL; + } + return (MPI_Request_ABI_INTERNAL) request; +} +__opal_attribute_always_inline__ static inline void ompi_convert_abi_status_intern_status(MPI_Status *out, MPI_Status_ABI_INTERNAL *inp) +{ + void *ptr = &out->_ucount; + out->MPI_SOURCE = inp->MPI_SOURCE; + out->MPI_TAG = inp->MPI_TAG; + out->_cancelled = inp->MPI_Internal[0]; + memcpy(ptr, &inp->MPI_Internal[1],sizeof(out->_ucount)); + out->MPI_ERROR = ompi_convert_abi_error_intern_error(inp->MPI_ERROR); +} +__opal_attribute_always_inline__ static inline void ompi_convert_intern_status_abi_status(MPI_Status_ABI_INTERNAL *out, MPI_Status *inp) +{ + void *ptr = &out->MPI_Internal[1]; + out->MPI_SOURCE = inp->MPI_SOURCE; + out->MPI_TAG = inp->MPI_TAG; + out->MPI_Internal[0] =inp->_cancelled; + memcpy(ptr, &inp->_ucount,sizeof(inp->_ucount)); +} + +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif + +#endif /* _ABI_CONVERTORS_ */ From 47c60bc65986e4daac9d611c490052cb04481933 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Tue, 29 Jul 2025 11:36:52 -0600 Subject: [PATCH 09/14] minor compiler complaint fix Signed-off-by: Howard Pritchard --- ompi/mpi/c/ompi_sendrecv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ompi/mpi/c/ompi_sendrecv.c b/ompi/mpi/c/ompi_sendrecv.c index 0bcdc5ecce3..06971af2a9b 100644 --- a/ompi/mpi/c/ompi_sendrecv.c +++ b/ompi/mpi/c/ompi_sendrecv.c @@ -94,4 +94,5 @@ int ompi_sendrecv(const void * sendbuf, size_t sendcount, MPI_Datatype sendtype, if( OPAL_UNLIKELY(MPI_SUCCESS != rcs && MPI_SUCCESS == rc) ) { rc = rcs; } + return rc; } From 3d2b84cc3a443f138104288beed17620e6260013 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Tue, 12 Aug 2025 14:22:36 -0600 Subject: [PATCH 10/14] temp commit with comments notes Signed-off-by: Howard Pritchard --- ompi/attribute/attribute.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ompi/attribute/attribute.c b/ompi/attribute/attribute.c index d224f4b8793..ae6b4db1003 100644 --- a/ompi/attribute/attribute.c +++ b/ompi/attribute/attribute.c @@ -322,6 +322,7 @@ do { \ /* C style */ \ else { \ void *attr_val = translate_to_c(attribute); \ + /* TODO: NEED SUPPORT FOR ABI */ \ err = (*((keyval_obj->delete_attr_fn).attr_##type##_delete_fn)) \ ((ompi_##type##_t *)object, \ key, attr_val, \ @@ -381,6 +382,7 @@ do { \ else { \ void *in, *out; \ in = translate_to_c(in_attr); \ + /* TODO: NEED SUPPORT FOR ABI */ \ if ((err = (*((keyval_obj->copy_attr_fn).attr_##type##_copy_fn)) \ ((ompi_##type##_t *)old_object, key, keyval_obj->extra_state.c_ptr, \ in, &out, &flag)) == MPI_SUCCESS) { \ From d5663f7f0c6892b79b60c4f23a191996e85c61e5 Mon Sep 17 00:00:00 2001 From: Joe Downs Date: Thu, 26 Jun 2025 14:29:54 -0600 Subject: [PATCH 11/14] Switch to using MPI Standard ABI values This mod switches from using "synthetic" defined values and handles for the ones specified in the MPI 5.1 standard. The python infrastructure included in this PR for generating both a "canonical" abi standard compatible MPI 5.1 mpi.h using two json files: 1) mpi-standard-abi.json 2) mpi-standard-apis.json 2 is generated as part of building the MPI standard. We import that into our project for use in generating both the mpi.h as well as interface definitions in the man pages. 1 is generated using a separate script that processes the tables in Appendix A of standard. Ideally this script will be merged into the MPI standard code base at some point. This script is currently at https://github.com/Joe-Downs/mpi-standard/tree/pr/handle-constant-tool/const-tool . It is used to generate the portion of mpi.h where defined values and handles are specified. The converter functions that had been generated as part of the build out of the abi variants of the 'c' MPI interfaces are no define in persistent file. The methods defined in this file will be optimized to make use of the Huffman code characteristics of the predefined values in a subsequent PR. This commit also enables generation of the abi interfaces and header files by default. Signed-off-by: Joseph Downs --- 3rd-party/pympistandard | 2 +- config/ompi_configure_options.m4 | 17 +- docs/mpi-standard-5.0-abi.json | 9103 +++ docs/mpi-standard-5.0-apis.json | 61254 ++++++++++++++++++++ docs/mpi-standard-abi.json | 1 + docs/mpi-standard-apis.json | 2 +- ompi/include/mpi.h.in | 12 +- ompi/mpi/Makefile.am | 1 + ompi/mpi/bindings/c_header.py | 246 + ompi/mpi/bindings/ompi_bindings/consts.py | 1 - ompi/mpi/c/Makefile.am | 39 +- ompi/mpi/c/abi.h.in | 213 + ompi/mpi/c/abi_converters.h | 8 +- 13 files changed, 70859 insertions(+), 40 deletions(-) create mode 100644 docs/mpi-standard-5.0-abi.json create mode 100644 docs/mpi-standard-5.0-apis.json create mode 120000 docs/mpi-standard-abi.json create mode 100644 ompi/mpi/bindings/c_header.py create mode 100644 ompi/mpi/c/abi.h.in diff --git a/3rd-party/pympistandard b/3rd-party/pympistandard index 6032f68dd96..1e00cfbd0c1 160000 --- a/3rd-party/pympistandard +++ b/3rd-party/pympistandard @@ -1 +1 @@ -Subproject commit 6032f68dd9636b48977f59e986acc01a746593a6 +Subproject commit 1e00cfbd0c16e4dd7da71bb6b97262df0fc26013 diff --git a/config/ompi_configure_options.m4 b/config/ompi_configure_options.m4 index 72a84353394..e00e60f50de 100644 --- a/config/ompi_configure_options.m4 +++ b/config/ompi_configure_options.m4 @@ -266,16 +266,19 @@ AM_CONDITIONAL(OMPI_GENERATE_BINDINGS,[test "$PYTHON" != ":"]) AC_MSG_CHECKING([if want to enable standard ABI library]) AC_ARG_ENABLE([standard-abi], [AS_HELP_STRING([--enable-standard-abi], - [Enable building the standard ABI library (default: disabled)])]) -if test "$enable_standard_abi" = "yes"; then - AC_MSG_RESULT([yes]) - ompi_standard_abi=1 -else + [Enable building the standard ABI library (default: enabled)])]) +if test "$enable_standard_abi" = "no"; then AC_MSG_RESULT([no]) ompi_standard_abi=0 +else + AC_MSG_RESULT([yes]) + ompi_standard_abi=1 fi AC_DEFINE_UNQUOTED([OMPI_STANDARD_ABI],[$ompi_standard_abi], [Whether we want to build the standard ABI library]) -AM_CONDITIONAL(OMPI_STANDARD_ABI,[test "$enable_standard_abi" = "yes"]) - +AM_CONDITIONAL(OMPI_STANDARD_ABI,[test $ompi_standard_abi = 1]) +AS_IF([test $ompi_standard_abi -eq 1], + [gen_abi="yes"], + [gen_abi="no"]) +OPAL_SUMMARY_ADD([Miscellaneous], [MPI Standard ABI support], [], [$gen_abi]) ])dnl diff --git a/docs/mpi-standard-5.0-abi.json b/docs/mpi-standard-5.0-abi.json new file mode 100644 index 00000000000..b4a7ea6c899 --- /dev/null +++ b/docs/mpi-standard-5.0-abi.json @@ -0,0 +1,9103 @@ +{ + "constants": { + "mpi_success": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_SUCCESS", + "abi_value": 0 + }, + "mpi_err_buffer": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_BUFFER", + "abi_value": 1 + }, + "mpi_err_count": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_COUNT", + "abi_value": 2 + }, + "mpi_err_type": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_TYPE", + "abi_value": 3 + }, + "mpi_err_tag": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_TAG", + "abi_value": 4 + }, + "mpi_err_comm": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_COMM", + "abi_value": 5 + }, + "mpi_err_rank": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_RANK", + "abi_value": 6 + }, + "mpi_err_request": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_REQUEST", + "abi_value": 7 + }, + "mpi_err_root": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_ROOT", + "abi_value": 8 + }, + "mpi_err_group": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_GROUP", + "abi_value": 9 + }, + "mpi_err_op": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_OP", + "abi_value": 10 + }, + "mpi_err_topology": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_TOPOLOGY", + "abi_value": 11 + }, + "mpi_err_dims": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_DIMS", + "abi_value": 12 + }, + "mpi_err_arg": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_ARG", + "abi_value": 13 + }, + "mpi_err_unknown": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_UNKNOWN", + "abi_value": 14 + }, + "mpi_err_truncate": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_TRUNCATE", + "abi_value": 15 + }, + "mpi_err_other": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_OTHER", + "abi_value": 16 + }, + "mpi_err_intern": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_INTERN", + "abi_value": 17 + }, + "mpi_err_pending": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_PENDING", + "abi_value": 18 + }, + "mpi_err_in_status": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_IN_STATUS", + "abi_value": 19 + }, + "mpi_err_access": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_ACCESS", + "abi_value": 20 + }, + "mpi_err_amode": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_AMODE", + "abi_value": 21 + }, + "mpi_err_assert": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_ASSERT", + "abi_value": 22 + }, + "mpi_err_bad_file": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_BAD_FILE", + "abi_value": 23 + }, + "mpi_err_base": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_BASE", + "abi_value": 24 + }, + "mpi_err_conversion": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_CONVERSION", + "abi_value": 25 + }, + "mpi_err_disp": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_DISP", + "abi_value": 26 + }, + "mpi_err_dup_datarep": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_DUP_DATAREP", + "abi_value": 27 + }, + "mpi_err_file_exists": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_FILE_EXISTS", + "abi_value": 28 + }, + "mpi_err_file_in_use": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_FILE_IN_USE", + "abi_value": 29 + }, + "mpi_err_file": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_FILE", + "abi_value": 30 + }, + "mpi_err_info_key": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_INFO_KEY", + "abi_value": 31 + }, + "mpi_err_info_nokey": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_INFO_NOKEY", + "abi_value": 32 + }, + "mpi_err_info_value": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_INFO_VALUE", + "abi_value": 33 + }, + "mpi_err_info": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_INFO", + "abi_value": 34 + }, + "mpi_err_io": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_IO", + "abi_value": 35 + }, + "mpi_err_keyval": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_KEYVAL", + "abi_value": 36 + }, + "mpi_err_locktype": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_LOCKTYPE", + "abi_value": 37 + }, + "mpi_err_name": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_NAME", + "abi_value": 38 + }, + "mpi_err_no_mem": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_NO_MEM", + "abi_value": 39 + }, + "mpi_err_not_same": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_NOT_SAME", + "abi_value": 40 + }, + "mpi_err_no_space": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_NO_SPACE", + "abi_value": 41 + }, + "mpi_err_no_such_file": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_NO_SUCH_FILE", + "abi_value": 42 + }, + "mpi_err_port": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_PORT", + "abi_value": 43 + }, + "mpi_err_quota": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_QUOTA", + "abi_value": 44 + }, + "mpi_err_read_only": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_READ_ONLY", + "abi_value": 45 + }, + "mpi_err_rma_attach": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_RMA_ATTACH", + "abi_value": 46 + }, + "mpi_err_rma_conflict": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_RMA_CONFLICT", + "abi_value": 47 + }, + "mpi_err_rma_range": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_RMA_RANGE", + "abi_value": 48 + }, + "mpi_err_rma_shared": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_RMA_SHARED", + "abi_value": 49 + }, + "mpi_err_rma_sync": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_RMA_SYNC", + "abi_value": 50 + }, + "mpi_err_service": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_SERVICE", + "abi_value": 51 + }, + "mpi_err_size": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_SIZE", + "abi_value": 52 + }, + "mpi_err_spawn": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_SPAWN", + "abi_value": 53 + }, + "mpi_err_unsupported_datarep": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_UNSUPPORTED_DATAREP", + "abi_value": 54 + }, + "mpi_err_unsupported_operation": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_UNSUPPORTED_OPERATION", + "abi_value": 55 + }, + "mpi_err_win": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_WIN", + "abi_value": 56 + }, + "mpi_err_rma_flavor": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_RMA_FLAVOR", + "abi_value": 57 + }, + "mpi_err_proc_aborted": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_PROC_ABORTED", + "abi_value": 58 + }, + "mpi_err_value_too_large": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_VALUE_TOO_LARGE", + "abi_value": 59 + }, + "mpi_err_session": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_SESSION", + "abi_value": 60 + }, + "mpi_err_errhandler": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_ERRHANDLER", + "abi_value": 61 + }, + "mpi_err_abi": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_ABI", + "abi_value": 62 + }, + "mpi_t_err_cannot_init": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_CANNOT_INIT", + "abi_value": 1001 + }, + "mpi_t_err_not_accessible": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_NOT_ACCESSIBLE", + "abi_value": 1002 + }, + "mpi_t_err_not_initialized": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_NOT_INITIALIZED", + "abi_value": 1003 + }, + "mpi_t_err_not_supported": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_NOT_SUPPORTED", + "abi_value": 1004 + }, + "mpi_t_err_memory": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_MEMORY", + "abi_value": 1005 + }, + "mpi_t_err_invalid": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_INVALID", + "abi_value": 1006 + }, + "mpi_t_err_invalid_index": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_INVALID_INDEX", + "abi_value": 1007 + }, + "mpi_t_err_invalid_item": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_INVALID_ITEM", + "abi_value": 1008 + }, + "mpi_t_err_invalid_session": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_INVALID_SESSION", + "abi_value": 1009 + }, + "mpi_t_err_invalid_handle": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_INVALID_HANDLE", + "abi_value": 1010 + }, + "mpi_t_err_invalid_name": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_INVALID_NAME", + "abi_value": 1011 + }, + "mpi_t_err_out_of_handles": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_OUT_OF_HANDLES", + "abi_value": 1012 + }, + "mpi_t_err_out_of_sessions": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_OUT_OF_SESSIONS", + "abi_value": 1013 + }, + "mpi_t_err_cvar_set_not_now": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_CVAR_SET_NOT_NOW", + "abi_value": 1014 + }, + "mpi_t_err_cvar_set_never": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_CVAR_SET_NEVER", + "abi_value": 1015 + }, + "mpi_t_err_pvar_no_write": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_PVAR_NO_WRITE", + "abi_value": 1016 + }, + "mpi_t_err_pvar_no_startstop": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_PVAR_NO_STARTSTOP", + "abi_value": 1017 + }, + "mpi_t_err_pvar_no_atomic": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_T_ERR_PVAR_NO_ATOMIC", + "abi_value": 1018 + }, + "mpi_err_lastcode": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ERROR_CLASSES", + "macro": "\\error", + "datatypes": {}, + "name": "MPI_ERR_LASTCODE", + "abi_value": 16383 + }, + "mpi_bottom": { + "handle_types": { + "c": { + "type": "void *", + "description": "\\ctype{void *}" + }, + "f90": { + "type": "", + "description": "(predefined memory location)" + }, + "f08": { + "type": "", + "description": "(predefined memory location)" + } + }, + "category": "BUFFER_ADDR_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_BOTTOM", + "abi_value": 0 + }, + "mpi_in_place": { + "handle_types": { + "c": { + "type": "void *", + "description": "\\ctype{void *}" + }, + "f90": { + "type": "", + "description": "(predefined memory location)" + }, + "f08": { + "type": "", + "description": "(predefined memory location)" + } + }, + "category": "BUFFER_ADDR_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_IN_PLACE", + "abi_value": 1 + }, + "mpi_buffer_automatic": { + "handle_types": { + "c": { + "type": "void *", + "description": "\\ctype{void *}" + }, + "f90": { + "type": "", + "description": "(predefined memory location)" + }, + "f08": { + "type": "", + "description": "(predefined memory location)" + } + }, + "category": "BUFFER_ADDR_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_BUFFER_AUTOMATIC", + "abi_value": 2 + }, + "mpi_argvs_null": { + "handle_types": { + "c": { + "type": "char***", + "description": "\\ctype{char***}" + }, + "f90": { + "type": "CHARACTER*(*)(*)", + "description": "2-dim.~array of \\ftype{CHARACTER*(*)}" + }, + "f08": { + "type": "CHARACTER*(*)(*)", + "description": "2-dim.~array of \\ftype{CHARACTER*(*)}" + } + }, + "category": "EMPTY_IGNORE_INPUT_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ARGVS_NULL", + "abi_value": 0 + }, + "mpi_argv_null": { + "handle_types": { + "c": { + "type": "char**", + "description": "\\ctype{char**}" + }, + "f90": { + "type": "CHARACTER*(*)", + "description": "array of \\ftype{CHARACTER*(*)}" + }, + "f08": { + "type": "CHARACTER*(*)", + "description": "array of \\ftype{CHARACTER*(*)}" + } + }, + "category": "EMPTY_IGNORE_INPUT_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ARGV_NULL", + "abi_value": 0 + }, + "mpi_errcodes_ignore": { + "handle_types": { + "c": { + "type": "int*", + "description": "\\ctype{int*}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}} array" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}} array" + } + }, + "category": "EMPTY_IGNORE_INPUT_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ERRCODES_IGNORE", + "abi_value": 0 + }, + "mpi_statuses_ignore": { + "handle_types": { + "c": { + "type": "MPI_Status*", + "description": "\\ctype{MPI_Status*}" + }, + "f90": { + "type": "INTEGER DIMENSION(MPI_STATUS_SIZE)", + "description": "\\ftype{INTEGER, DIMENSION(MPI_STATUS_SIZE)}" + }, + "f08": { + "type": "TYPE(MPI_Status) DIMENSION(*)", + "description": "\\mpiftype{TYPE(MPI_Status), DIMENSION(*)}" + } + }, + "category": "EMPTY_IGNORE_INPUT_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_STATUSES_IGNORE", + "abi_value": 0 + }, + "mpi_status_ignore": { + "handle_types": { + "c": { + "type": "MPI_Status*", + "description": "\\ctype{MPI_Status*}" + }, + "f90": { + "type": "INTEGER DIMENSION(MPI_STATUS_SIZE)", + "description": "\\ftype{INTEGER, DIMENSION(MPI_STATUS_SIZE)}" + }, + "f08": { + "type": "TYPE(MPI_Status) DIMENSION(*)", + "description": "\\mpiftype{TYPE(MPI_Status)}" + } + }, + "category": "EMPTY_IGNORE_INPUT_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_STATUS_IGNORE", + "abi_value": 0 + }, + "mpi_unweighted": { + "handle_types": { + "c": { + "type": "int*", + "description": "\\ctype{int*}" + }, + "f90": { + "type": "INTEGER(*)", + "description": "\\ftype{INTEGER} array" + }, + "f08": { + "type": "INTEGER(*)", + "description": "\\ftype{INTEGER} array" + } + }, + "category": "EMPTY_IGNORE_INPUT_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_UNWEIGHTED", + "abi_value": 10 + }, + "mpi_weights_empty": { + "handle_types": { + "c": { + "type": "int*", + "description": "\\ctype{int*}" + }, + "f90": { + "type": "INTEGER(*)", + "description": "\\ftype{INTEGER} array" + }, + "f08": { + "type": "INTEGER(*)", + "description": "\\ftype{INTEGER} array" + } + }, + "category": "EMPTY_IGNORE_INPUT_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WEIGHTS_EMPTY", + "abi_value": 11 + }, + "mpi_max_datarep_string": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_DATAREP_STRING", + "abi_value": 128 + }, + "mpi_max_error_string": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_ERROR_STRING", + "abi_value": 512 + }, + "mpi_max_info_key": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_INFO_KEY", + "abi_value": 256 + }, + "mpi_max_info_val": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_INFO_VAL", + "abi_value": 1024 + }, + "mpi_max_library_version_string": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_LIBRARY_VERSION_STRING", + "abi_value": 8192 + }, + "mpi_max_object_name": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_OBJECT_NAME", + "abi_value": 128 + }, + "mpi_max_port_name": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_PORT_NAME", + "abi_value": 1024 + }, + "mpi_max_processor_name": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_PROCESSOR_NAME", + "abi_value": 256 + }, + "mpi_max_stringtag_len": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_STRINGTAG_LEN", + "abi_value": 1024 + }, + "mpi_max_pset_name_len": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MAX_STR_SIZE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX_PSET_NAME_LEN", + "abi_value": 1024 + }, + "mpi_mode_append": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_APPEND", + "abi_value": 1 + }, + "mpi_mode_create": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_CREATE", + "abi_value": 2 + }, + "mpi_mode_delete_on_close": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_DELETE_ON_CLOSE", + "abi_value": 4 + }, + "mpi_mode_excl": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_EXCL", + "abi_value": 8 + }, + "mpi_mode_rdonly": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_RDONLY", + "abi_value": 16 + }, + "mpi_mode_rdwr": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_RDWR", + "abi_value": 32 + }, + "mpi_mode_sequential": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_SEQUENTIAL", + "abi_value": 64 + }, + "mpi_mode_unique_open": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_UNIQUE_OPEN", + "abi_value": 128 + }, + "mpi_mode_wronly": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_WRONLY", + "abi_value": 256 + }, + "mpi_mode_nocheck": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_NOCHECK", + "abi_value": 1024 + }, + "mpi_mode_noprecede": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_NOPRECEDE", + "abi_value": 2048 + }, + "mpi_mode_noput": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_NOPUT", + "abi_value": 4096 + }, + "mpi_mode_nostore": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_NOSTORE", + "abi_value": 8192 + }, + "mpi_mode_nosucceed": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "MODE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MODE_NOSUCCEED", + "abi_value": 16384 + }, + "mpi_any_source": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ASSORTED_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ANY_SOURCE", + "abi_value": -1 + }, + "mpi_any_tag": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ASSORTED_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ANY_TAG", + "abi_value": -2 + }, + "mpi_proc_null": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ASSORTED_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_PROC_NULL", + "abi_value": -3 + }, + "mpi_root": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ASSORTED_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ROOT", + "abi_value": -4 + }, + "mpi_undefined": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ASSORTED_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_UNDEFINED", + "abi_value": -32766 + }, + "mpi_bsend_overhead": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ASSORTED_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_BSEND_OVERHEAD", + "abi_value": 512 + }, + "mpi_thread_single": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "THREADS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_THREAD_SINGLE", + "abi_value": 0 + }, + "mpi_thread_funneled": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "THREADS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_THREAD_FUNNELED", + "abi_value": 1024 + }, + "mpi_thread_serialized": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "THREADS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_THREAD_SERIALIZED", + "abi_value": 2048 + }, + "mpi_thread_multiple": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "THREADS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_THREAD_MULTIPLE", + "abi_value": 4096 + }, + "mpi_order_c": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_OPERATIONS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ORDER_C", + "abi_value": 12 + }, + "mpi_order_fortran": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_OPERATIONS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ORDER_FORTRAN", + "abi_value": 15 + }, + "mpi_distribute_none": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_OPERATIONS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_DISTRIBUTE_NONE", + "abi_value": 16 + }, + "mpi_distribute_block": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_OPERATIONS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_DISTRIBUTE_BLOCK", + "abi_value": 17 + }, + "mpi_distribute_cyclic": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_OPERATIONS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_DISTRIBUTE_CYCLIC", + "abi_value": 18 + }, + "mpi_distribute_dflt_darg": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_OPERATIONS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_DISTRIBUTE_DFLT_DARG", + "abi_value": 19 + }, + "mpi_combiner_named": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_NAMED", + "abi_value": 101 + }, + "mpi_combiner_dup": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_DUP", + "abi_value": 102 + }, + "mpi_combiner_contiguous": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_CONTIGUOUS", + "abi_value": 103 + }, + "mpi_combiner_vector": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_VECTOR", + "abi_value": 104 + }, + "mpi_combiner_hvector": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_HVECTOR", + "abi_value": 105 + }, + "mpi_combiner_indexed": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_INDEXED", + "abi_value": 106 + }, + "mpi_combiner_hindexed": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_HINDEXED", + "abi_value": 107 + }, + "mpi_combiner_indexed_block": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_INDEXED_BLOCK", + "abi_value": 108 + }, + "mpi_combiner_hindexed_block": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_HINDEXED_BLOCK", + "abi_value": 109 + }, + "mpi_combiner_struct": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_STRUCT", + "abi_value": 110 + }, + "mpi_combiner_subarray": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_SUBARRAY", + "abi_value": 111 + }, + "mpi_combiner_darray": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_DARRAY", + "abi_value": 112 + }, + "mpi_combiner_f90_real": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_F90_REAL", + "abi_value": 113 + }, + "mpi_combiner_f90_complex": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_F90_COMPLEX", + "abi_value": 114 + }, + "mpi_combiner_f90_integer": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_F90_INTEGER", + "abi_value": 115 + }, + "mpi_combiner_resized": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_RESIZED", + "abi_value": 116 + }, + "mpi_combiner_value_index": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "DATATYPE_DECODING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMBINER_VALUE_INDEX", + "abi_value": 117 + }, + "mpi_typeclass_integer": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "F90_DATATYPE_MATCHING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_TYPECLASS_INTEGER", + "abi_value": 192 + }, + "mpi_typeclass_real": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "F90_DATATYPE_MATCHING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_TYPECLASS_REAL", + "abi_value": 193 + }, + "mpi_typeclass_complex": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "F90_DATATYPE_MATCHING_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_TYPECLASS_COMPLEX", + "abi_value": 194 + }, + "mpi_ident": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "COMMUNICATOR_GROUP_COMP_RESULTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_IDENT", + "abi_value": 201 + }, + "mpi_congruent": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "COMMUNICATOR_GROUP_COMP_RESULTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_CONGRUENT", + "abi_value": 202 + }, + "mpi_similar": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "COMMUNICATOR_GROUP_COMP_RESULTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_SIMILAR", + "abi_value": 203 + }, + "mpi_unequal": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "COMMUNICATOR_GROUP_COMP_RESULTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_UNEQUAL", + "abi_value": 204 + }, + "mpi_cart": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\type{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\type{INTEGER}" + } + }, + "category": "TOPOLOGIES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_CART", + "abi_value": 211 + }, + "mpi_graph": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\type{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\type{INTEGER}" + } + }, + "category": "TOPOLOGIES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_GRAPH", + "abi_value": 212 + }, + "mpi_dist_graph": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\type{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\type{INTEGER}" + } + }, + "category": "TOPOLOGIES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_DIST_GRAPH", + "abi_value": 213 + }, + "mpi_comm_type_shared": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "COMMUNICATOR_SPLIT_TYPE", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMM_TYPE_SHARED", + "abi_value": 221 + }, + "mpi_comm_type_hw_unguided": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "COMMUNICATOR_SPLIT_TYPE", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMM_TYPE_HW_UNGUIDED", + "abi_value": 222 + }, + "mpi_comm_type_hw_guided": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "COMMUNICATOR_SPLIT_TYPE", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMM_TYPE_HW_GUIDED", + "abi_value": 223 + }, + "mpi_comm_type_resource_guided": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "COMMUNICATOR_SPLIT_TYPE", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMM_TYPE_RESOURCE_GUIDED", + "abi_value": 224 + }, + "mpi_lock_exclusive": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "WINDOW_LOCK_TYPE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_LOCK_EXCLUSIVE", + "abi_value": 301 + }, + "mpi_lock_shared": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "WINDOW_LOCK_TYPE_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_LOCK_SHARED", + "abi_value": 302 + }, + "mpi_win_flavor_create": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "WINDOW_CREATE_FLAVORS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_FLAVOR_CREATE", + "abi_value": 311 + }, + "mpi_win_flavor_allocate": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "WINDOW_CREATE_FLAVORS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_FLAVOR_ALLOCATE", + "abi_value": 312 + }, + "mpi_win_flavor_dynamic": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "WINDOW_CREATE_FLAVORS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_FLAVOR_DYNAMIC", + "abi_value": 313 + }, + "mpi_win_flavor_shared": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "WINDOW_CREATE_FLAVORS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_FLAVOR_SHARED", + "abi_value": 314 + }, + "mpi_win_unified": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "WINDOW_MODELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_UNIFIED", + "abi_value": 321 + }, + "mpi_win_separate": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "WINDOW_MODELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_SEPARATE", + "abi_value": 322 + }, + "mpi_seek_cur": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_POS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_SEEK_CUR", + "abi_value": 401 + }, + "mpi_seek_end": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_POS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_SEEK_END", + "abi_value": 402 + }, + "mpi_seek_set": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_POS_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_SEEK_SET", + "abi_value": 403 + }, + "mpi_displacement_current": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "FILE_OP_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_DISPLACEMENT_CURRENT", + "abi_value": -1 + }, + "mpi_keyval_invalid": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_KEYVAL_INVALID", + "abi_value": 0 + }, + "mpi_tag_ub": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_TAG_UB", + "abi_value": 501 + }, + "mpi_io": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_IO", + "abi_value": 502 + }, + "mpi_host": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_HOST", + "abi_value": 503 + }, + "mpi_wtime_is_global": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WTIME_IS_GLOBAL", + "abi_value": 504 + }, + "mpi_appnum": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_APPNUM", + "abi_value": 505 + }, + "mpi_lastusedcode": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_LASTUSEDCODE", + "abi_value": 506 + }, + "mpi_universe_size": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_UNIVERSE_SIZE", + "abi_value": 507 + }, + "mpi_win_base": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_BASE", + "abi_value": 601 + }, + "mpi_win_disp_unit": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_DISP_UNIT", + "abi_value": 602 + }, + "mpi_win_size": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_SIZE", + "abi_value": 603 + }, + "mpi_win_create_flavor": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_CREATE_FLAVOR", + "abi_value": 604 + }, + "mpi_win_model": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "ENV_INQ_AND_ATTR_KEYS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_MODEL", + "abi_value": 605 + }, + "mpi_subarrays_supported": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "LOGICAL", + "description": "\\ftype{LOGICAL}" + }, + "f08": { + "type": "LOGICAL", + "description": "\\ftype{LOGICAL}" + } + }, + "category": "FORTRAN_SUPPORT_METHOD_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_SUBARRAYS_SUPPORTED", + "abi_value": null + }, + "mpi_async_protects_nonblocking": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "LOGICAL", + "description": "\\ftype{LOGICAL}" + }, + "f08": { + "type": "LOGICAL", + "description": "\\ftype{LOGICAL}" + } + }, + "category": "FORTRAN_SUPPORT_METHOD_CONSTANTS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ASYNC_PROTECTS_NONBLOCKING", + "abi_value": null + }, + "mpi_status_size": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "STATUS_ARRAY_SIZE_AND_INDEX_FORTRAN", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_STATUS_SIZE", + "abi_value": 8 + }, + "mpi_source": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "STATUS_ARRAY_SIZE_AND_INDEX_FORTRAN", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_SOURCE", + "abi_value": 1 + }, + "mpi_tag": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "STATUS_ARRAY_SIZE_AND_INDEX_FORTRAN", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_TAG", + "abi_value": 2 + }, + "mpi_error": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "STATUS_ARRAY_SIZE_AND_INDEX_FORTRAN", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ERROR", + "abi_value": 3 + }, + "mpi_f_status_size": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "FORTRAN_STATUS_ARRAY_SIZE_AND_INDEX_C", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_F_STATUS_SIZE", + "abi_value": 8 + }, + "mpi_f_source": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "FORTRAN_STATUS_ARRAY_SIZE_AND_INDEX_C", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_F_SOURCE", + "abi_value": 0 + }, + "mpi_f_tag": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "FORTRAN_STATUS_ARRAY_SIZE_AND_INDEX_C", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_F_TAG", + "abi_value": 1 + }, + "mpi_f_error": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "FORTRAN_STATUS_ARRAY_SIZE_AND_INDEX_C", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_F_ERROR", + "abi_value": 2 + }, + "mpi_address_kind": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "VARIABLE_ADDR_SIZE_FORTRAN", + "macro": "\\mpiconstmain", + "datatypes": {}, + "name": "MPI_ADDRESS_KIND", + "abi_value": "\\code{c_intptr_t}" + }, + "mpi_offset_kind": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "VARIABLE_ADDR_SIZE_FORTRAN", + "macro": "\\mpiconstmain", + "datatypes": {}, + "name": "MPI_OFFSET_KIND", + "abi_value": "\\code{c_int64_t}" + }, + "mpi_count_kind": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "VARIABLE_ADDR_SIZE_FORTRAN", + "macro": "\\mpiconstmain", + "datatypes": {}, + "name": "MPI_COUNT_KIND", + "abi_value": "\\code{c_int64_t}" + }, + "mpi_comm_null": { + "handle_types": { + "c": { + "type": "MPI_Comm", + "description": "\\ctype{MPI_Comm}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_COMM", + "description": "\\mpiftype{TYPE(MPI_Comm)}" + } + }, + "category": "RESERVED_COMMUNICATORS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMM_NULL", + "abi_value": 256 + }, + "mpi_comm_world": { + "handle_types": { + "c": { + "type": "MPI_Comm", + "description": "\\ctype{MPI_Comm}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_COMM", + "description": "\\mpiftype{TYPE(MPI_Comm)}" + } + }, + "category": "RESERVED_COMMUNICATORS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMM_WORLD", + "abi_value": 257 + }, + "mpi_comm_self": { + "handle_types": { + "c": { + "type": "MPI_Comm", + "description": "\\ctype{MPI_Comm}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_COMM", + "description": "\\mpiftype{TYPE(MPI_Comm)}" + } + }, + "category": "RESERVED_COMMUNICATORS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_COMM_SELF", + "abi_value": 258 + }, + "mpi_datatype_null": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": null, + "description": "\\ctype{}" + } + }, + "name": "MPI_DATATYPE_NULL", + "abi_value": 512 + }, + "mpi_aint": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "MPI_Aint", + "description": "\\ctype{MPI_Aint}" + }, + "f90": { + "type": "ADDRESS", + "description": "\\mpiftypekind{ADDRESS}" + }, + "f08": { + "type": "ADDRESS", + "description": "\\mpiftypekind{ADDRESS}" + } + }, + "name": "MPI_AINT", + "abi_value": 513 + }, + "mpi_count": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "MPI_Count", + "description": "\\ctype{MPI_Count}" + }, + "f90": { + "type": "COUNT", + "description": "\\mpiftypekind{COUNT}" + }, + "f08": { + "type": "COUNT", + "description": "\\mpiftypekind{COUNT}" + } + }, + "name": "MPI_COUNT", + "abi_value": 514 + }, + "mpi_offset": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "MPI_Offset", + "description": "\\ctype{MPI_Offset}" + }, + "f90": { + "type": "OFFSET", + "description": "\\mpiftypekind{OFFSET}" + }, + "f08": { + "type": "OFFSET", + "description": "\\mpiftypekind{OFFSET}" + } + }, + "name": "MPI_OFFSET", + "abi_value": 515 + }, + "mpi_packed": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": null, + "description": "(any C datatype)" + }, + "f90": { + "type": null, + "description": "{(any Fortran type)}" + }, + "f08": { + "type": null, + "description": "{(any Fortran type)}" + } + }, + "name": "MPI_PACKED", + "abi_value": 519 + }, + "mpi_short": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "signed short", + "description": "\\ctype{signed short}" + } + }, + "name": "MPI_SHORT", + "abi_value": 520 + }, + "mpi_int": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "signed int", + "description": "\\ctype{signed int}" + } + }, + "name": "MPI_INT", + "abi_value": 521 + }, + "mpi_long": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "signed long", + "description": "\\ctype{signed long}" + } + }, + "name": "MPI_LONG", + "abi_value": 522 + }, + "mpi_long_long_int": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "signed long long", + "description": "\\ctype{signed long long}" + } + }, + "name": "MPI_LONG_LONG_INT", + "abi_value": 523 + }, + "mpi_long_long": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "signed long long", + "description": "\\ctype{signed long long}" + } + }, + "name": "MPI_LONG_LONG", + "abi_value": 523 + }, + "mpi_unsigned_short": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "unsigned short", + "description": "\\ctype{unsigned short}" + } + }, + "name": "MPI_UNSIGNED_SHORT", + "abi_value": 524 + }, + "mpi_unsigned": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "unsigned int", + "description": "\\ctype{unsigned int}" + } + }, + "name": "MPI_UNSIGNED", + "abi_value": 525 + }, + "mpi_unsigned_long": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "unsigned long", + "description": "\\ctype{unsigned long}" + } + }, + "name": "MPI_UNSIGNED_LONG", + "abi_value": 526 + }, + "mpi_unsigned_long_long": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "unsigned long long", + "description": "\\ctype{unsigned long long}" + } + }, + "name": "MPI_UNSIGNED_LONG_LONG", + "abi_value": 527 + }, + "mpi_float": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "float", + "description": "\\ctype{float}" + } + }, + "name": "MPI_FLOAT", + "abi_value": 528 + }, + "mpi_c_complex": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "float _Complex", + "description": "\\ctype{float _Complex}" + } + }, + "name": "MPI_C_COMPLEX", + "abi_value": 530 + }, + "mpi_c_float_complex": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "float _Complex", + "description": "\\ctype{float _Complex}" + } + }, + "name": "MPI_C_FLOAT_COMPLEX", + "abi_value": 530 + }, + "mpi_double": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "double", + "description": "\\ctype{double}" + } + }, + "name": "MPI_DOUBLE", + "abi_value": 532 + }, + "mpi_c_double_complex": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "double _Complex", + "description": "\\ctype{double _Complex}" + } + }, + "name": "MPI_C_DOUBLE_COMPLEX", + "abi_value": 534 + }, + "mpi_long_double": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "long double", + "description": "\\ctype{long double}" + } + }, + "name": "MPI_LONG_DOUBLE", + "abi_value": 544 + }, + "mpi_c_long_double_complex": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "long double _Complex", + "description": "\\ctype{long double _Complex}" + } + }, + "name": "MPI_C_LONG_DOUBLE_COMPLEX", + "abi_value": 548 + }, + "mpi_c_bool": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "_Bool", + "description": "\\ctype{_Bool}" + } + }, + "name": "MPI_C_BOOL", + "abi_value": 568 + }, + "mpi_wchar": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "wchar_t", + "description": "\\ctype{wchar_t}" + } + }, + "name": "MPI_WCHAR", + "abi_value": 572 + }, + "mpi_int8_t": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "int8_t", + "description": "\\ctype{int8_t}" + } + }, + "name": "MPI_INT8_T", + "abi_value": 576 + }, + "mpi_uint8_t": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "uint8_t", + "description": "\\ctype{uint8_t}" + } + }, + "name": "MPI_UINT8_T", + "abi_value": 577 + }, + "mpi_char": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "char", + "description": "\\ctype{char}" + } + }, + "name": "MPI_CHAR", + "abi_value": 579 + }, + "mpi_signed_char": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "signed char", + "description": "\\ctype{signed char}" + } + }, + "name": "MPI_SIGNED_CHAR", + "abi_value": 580 + }, + "mpi_unsigned_char": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "unsigned char", + "description": "\\ctype{unsigned char}" + } + }, + "name": "MPI_UNSIGNED_CHAR", + "abi_value": 581 + }, + "mpi_byte": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "(any C datatype)", + "description": "\\ctype{(any C datatype)}" + }, + "f90": { + "type": null, + "description": "{(any Fortran type)}" + }, + "f08": { + "type": null, + "description": "{(any Fortran type)}" + } + }, + "name": "MPI_BYTE", + "abi_value": 583 + }, + "mpi_int16_t": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "int16_t", + "description": "\\ctype{int16_t}" + } + }, + "name": "MPI_INT16_T", + "abi_value": 584 + }, + "mpi_uint16_t": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "uint16_t", + "description": "\\ctype{uint16_t}" + } + }, + "name": "MPI_UINT16_T", + "abi_value": 585 + }, + "mpi_int32_t": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "int32_t", + "description": "\\ctype{int32_t}" + } + }, + "name": "MPI_INT32_T", + "abi_value": 592 + }, + "mpi_uint32_t": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "uint32_t", + "description": "\\ctype{uint32_t}" + } + }, + "name": "MPI_UINT32_T", + "abi_value": 593 + }, + "mpi_int64_t": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "int64_t", + "description": "\\ctype{int64_t}" + } + }, + "name": "MPI_INT64_T", + "abi_value": 600 + }, + "mpi_uint64_t": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "c": { + "type": "uint64_t", + "description": "\\ctype{uint64_t}" + } + }, + "name": "MPI_UINT64_T", + "abi_value": 601 + }, + "mpi_logical": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "LOGICAL", + "description": "\\ftype{LOGICAL}" + }, + "f08": { + "type": "LOGICAL", + "description": "\\ftype{LOGICAL}" + } + }, + "name": "MPI_LOGICAL", + "abi_value": 536 + }, + "mpi_integer": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "MPI_INTEGER", + "abi_value": 537 + }, + "mpi_real": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "REAL", + "description": "\\ftype{REAL}" + }, + "f08": { + "type": "REAL", + "description": "\\ftype{REAL}" + } + }, + "name": "MPI_REAL", + "abi_value": 538 + }, + "mpi_complex": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "COMPLEX", + "description": "\\ftype{COMPLEX}" + }, + "f08": { + "type": "COMPLEX", + "description": "\\ftype{COMPLEX}" + } + }, + "name": "MPI_COMPLEX", + "abi_value": 539 + }, + "mpi_double_precision": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "DOUBLE PRECISION", + "description": "\\ftype{DOUBLE PRECISION}" + }, + "f08": { + "type": "DOUBLE PRECISION", + "description": "\\ftype{DOUBLE PRECISION}" + } + }, + "name": "MPI_DOUBLE_PRECISION", + "abi_value": 540 + }, + "mpi_character": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "CHARACTER(1)", + "description": "\\ftype{CHARACTER(1)}" + }, + "f08": { + "type": "CHARACTER(1)", + "description": "\\ftype{CHARACTER(1)}" + } + }, + "name": "MPI_CHARACTER", + "abi_value": 542 + }, + "mpi_cxx_float_complex": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "cpp": { + "type": "std::complex", + "description": "\\ctype{std::complex}" + } + }, + "name": "MPI_CXX_FLOAT_COMPLEX", + "abi_value": 531 + }, + "mpi_cxx_double_complex": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "cpp": { + "type": "std::complex", + "description": "\\ctype{std::complex}" + } + }, + "name": "MPI_CXX_DOUBLE_COMPLEX", + "abi_value": 535 + }, + "mpi_cxx_long_double_complex": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "cpp": { + "type": "std::complex", + "description": "\\ctype{std::complex}" + } + }, + "name": "MPI_CXX_LONG_DOUBLE_COMPLEX", + "abi_value": 549 + }, + "mpi_cxx_bool": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "PREDEFINED_DATATYPES", + "macro": "\\type", + "datatypes": { + "cpp": { + "type": "bool", + "description": "\\ctype{bool}" + } + }, + "name": "MPI_CXX_BOOL", + "abi_value": 569 + }, + "mpi_double_complex": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "DOUBLE COMPLEX", + "description": "\\ftype{DOUBLE COMPLEX}" + }, + "f08": { + "type": "DOUBLE COMPLEX", + "description": "\\ftype{DOUBLE COMPLEX}" + } + }, + "name": "MPI_DOUBLE_COMPLEX", + "abi_value": 541 + }, + "mpi_logical1": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "LOGICAL*1", + "description": "\\ftype{LOGICAL*1}" + }, + "f08": { + "type": "LOGICAL*1", + "description": "\\ftype{LOGICAL*1}" + } + }, + "name": "MPI_LOGICAL1", + "abi_value": 704 + }, + "mpi_logical2": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "LOGICAL*2", + "description": "\\ftype{LOGICAL*2}" + }, + "f08": { + "type": "LOGICAL*2", + "description": "\\ftype{LOGICAL*2}" + } + }, + "name": "MPI_LOGICAL2", + "abi_value": 712 + }, + "mpi_logical4": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "LOGICAL*4", + "description": "\\ftype{LOGICAL*4}" + }, + "f08": { + "type": "LOGICAL*4", + "description": "\\ftype{LOGICAL*4}" + } + }, + "name": "MPI_LOGICAL4", + "abi_value": 720 + }, + "mpi_logical8": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "LOGICAL*8", + "description": "\\ftype{LOGICAL*8}" + }, + "f08": { + "type": "LOGICAL*8", + "description": "\\ftype{LOGICAL*8}" + } + }, + "name": "MPI_LOGICAL8", + "abi_value": 728 + }, + "mpi_logical16": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "LOGICAL*16", + "description": "\\ftype{LOGICAL*16}" + }, + "f08": { + "type": "LOGICAL*16", + "description": "\\ftype{LOGICAL*16}" + } + }, + "name": "MPI_LOGICAL16", + "abi_value": 736 + }, + "mpi_integer1": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "INTEGER*1", + "description": "\\ftype{INTEGER*1}" + }, + "f08": { + "type": "INTEGER*1", + "description": "\\ftype{INTEGER*1}" + } + }, + "name": "MPI_INTEGER1", + "abi_value": 705 + }, + "mpi_integer2": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "INTEGER*2", + "description": "\\ftype{INTEGER*2}" + }, + "f08": { + "type": "INTEGER*2", + "description": "\\ftype{INTEGER*2}" + } + }, + "name": "MPI_INTEGER2", + "abi_value": 713 + }, + "mpi_integer4": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "INTEGER*4", + "description": "\\ftype{INTEGER*4}" + }, + "f08": { + "type": "INTEGER*4", + "description": "\\ftype{INTEGER*4}" + } + }, + "name": "MPI_INTEGER4", + "abi_value": 721 + }, + "mpi_integer8": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "INTEGER*8", + "description": "\\ftype{INTEGER*8}" + }, + "f08": { + "type": "INTEGER*8", + "description": "\\ftype{INTEGER*8}" + } + }, + "name": "MPI_INTEGER8", + "abi_value": 729 + }, + "mpi_integer16": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "INTEGER*16", + "description": "\\ftype{INTEGER*16}" + }, + "f08": { + "type": "INTEGER*16", + "description": "\\ftype{INTEGER*16}" + } + }, + "name": "MPI_INTEGER16", + "abi_value": 737 + }, + "mpi_real2": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "REAL*2", + "description": "\\ftype{REAL*2}" + }, + "f08": { + "type": "REAL*2", + "description": "\\ftype{REAL*2}" + } + }, + "name": "MPI_REAL2", + "abi_value": 714 + }, + "mpi_real4": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "REAL*4", + "description": "\\ftype{REAL*4}" + }, + "f08": { + "type": "REAL*4", + "description": "\\ftype{REAL*4}" + } + }, + "name": "MPI_REAL4", + "abi_value": 722 + }, + "mpi_real8": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "REAL*8", + "description": "\\ftype{REAL*8}" + }, + "f08": { + "type": "REAL*8", + "description": "\\ftype{REAL*8}" + } + }, + "name": "MPI_REAL8", + "abi_value": 730 + }, + "mpi_real16": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "REAL*16", + "description": "\\ftype{REAL*16}" + }, + "f08": { + "type": "REAL*16", + "description": "\\ftype{REAL*16}" + } + }, + "name": "MPI_REAL16", + "abi_value": 738 + }, + "mpi_complex4": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "COMPLEX*4", + "description": "\\ftype{COMPLEX*4}" + }, + "f08": { + "type": "COMPLEX*4", + "description": "\\ftype{COMPLEX*4}" + } + }, + "name": "MPI_COMPLEX4", + "abi_value": 723 + }, + "mpi_complex8": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "COMPLEX*8", + "description": "\\ftype{COMPLEX*8}" + }, + "f08": { + "type": "COMPLEX*8", + "description": "\\ftype{COMPLEX*8}" + } + }, + "name": "MPI_COMPLEX8", + "abi_value": 731 + }, + "mpi_complex16": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "COMPLEX*16", + "description": "\\ftype{COMPLEX*16}" + }, + "f08": { + "type": "COMPLEX*16", + "description": "\\ftype{COMPLEX*16}" + } + }, + "name": "MPI_COMPLEX16", + "abi_value": 739 + }, + "mpi_complex32": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "category": "OPT_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": { + "f90": { + "type": "COMPLEX*32", + "description": "\\ftype{COMPLEX*32}" + }, + "f08": { + "type": "COMPLEX*32", + "description": "\\ftype{COMPLEX*32}" + } + }, + "name": "MPI_COMPLEX32", + "abi_value": 747 + }, + "mpi_float_int": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "category": "REDUCTION_FUNC_DATATYPES_C", + "macro": "\\type", + "datatypes": {}, + "name": "MPI_FLOAT_INT", + "abi_value": 552 + }, + "mpi_double_int": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "category": "REDUCTION_FUNC_DATATYPES_C", + "macro": "\\type", + "datatypes": {}, + "name": "MPI_DOUBLE_INT", + "abi_value": 553 + }, + "mpi_long_int": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "category": "REDUCTION_FUNC_DATATYPES_C", + "macro": "\\type", + "datatypes": {}, + "name": "MPI_LONG_INT", + "abi_value": 554 + }, + "mpi_2int": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "category": "REDUCTION_FUNC_DATATYPES_C", + "macro": "\\type", + "datatypes": {}, + "name": "MPI_2INT", + "abi_value": 555 + }, + "mpi_short_int": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "category": "REDUCTION_FUNC_DATATYPES_C", + "macro": "\\type", + "datatypes": {}, + "name": "MPI_SHORT_INT", + "abi_value": 556 + }, + "mpi_long_double_int": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "category": "REDUCTION_FUNC_DATATYPES_C", + "macro": "\\type", + "datatypes": {}, + "name": "MPI_LONG_DOUBLE_INT", + "abi_value": 557 + }, + "mpi_2real": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "category": "REDUCTION_FUNC_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": {}, + "name": "MPI_2REAL", + "abi_value": 560 + }, + "mpi_2double_precision": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "category": "REDUCTION_FUNC_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": {}, + "name": "MPI_2DOUBLE_PRECISION", + "abi_value": 561 + }, + "mpi_2integer": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "category": "REDUCTION_FUNC_DATATYPES_FORTRAN", + "macro": "\\type", + "datatypes": {}, + "name": "MPI_2INTEGER", + "abi_value": 562 + }, + "mpi_message_null": { + "handle_types": { + "c": { + "type": "MPI_Message", + "description": "\\ctype{MPI_Message}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Message", + "description": "\\mpiftype{MPI_Message}" + } + }, + "category": "MSG_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MESSAGE_NULL", + "abi_value": 296 + }, + "mpi_message_no_proc": { + "handle_types": { + "c": { + "type": "MPI_Message", + "description": "\\ctype{MPI_Message}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Message", + "description": "\\mpiftype{MPI_Message}" + } + }, + "category": "MSG_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MESSAGE_NO_PROC", + "abi_value": 297 + }, + "mpi_errhandler_null": { + "handle_types": { + "c": { + "type": "MPI_Errhandler", + "description": "\\ctype{MPI_Errhandler}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Errhandler}" + } + }, + "category": "ERROR_SPECIFIERS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ERRHANDLER_NULL", + "abi_value": 320 + }, + "mpi_errors_are_fatal": { + "handle_types": { + "c": { + "type": "MPI_Errhandler", + "description": "\\ctype{MPI_Errhandler}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Errhandler}" + } + }, + "category": "ERROR_SPECIFIERS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ERRORS_ARE_FATAL", + "abi_value": 321 + }, + "mpi_errors_abort": { + "handle_types": { + "c": { + "type": "MPI_Errhandler", + "description": "\\ctype{MPI_Errhandler}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Errhandler}" + } + }, + "category": "ERROR_SPECIFIERS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ERRORS_ABORT", + "abi_value": 322 + }, + "mpi_errors_return": { + "handle_types": { + "c": { + "type": "MPI_Errhandler", + "description": "\\ctype{MPI_Errhandler}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Errhandler}" + } + }, + "category": "ERROR_SPECIFIERS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ERRORS_RETURN", + "abi_value": 323 + }, + "mpi_info_null": { + "handle_types": { + "c": { + "type": "MPI_Info", + "description": "\\ctype{MPI_Info}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Info}" + } + }, + "category": "ENV_INQ_INFO_KEY", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_INFO_NULL", + "abi_value": 304 + }, + "mpi_info_env": { + "handle_types": { + "c": { + "type": "MPI_Info", + "description": "\\ctype{MPI_Info}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Info}" + } + }, + "category": "ENV_INQ_INFO_KEY", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_INFO_ENV", + "abi_value": 305 + }, + "mpi_op_null": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_OP_NULL", + "abi_value": 32 + }, + "mpi_sum": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_SUM", + "abi_value": 33 + }, + "mpi_min": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MIN", + "abi_value": 34 + }, + "mpi_max": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAX", + "abi_value": 35 + }, + "mpi_prod": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_PROD", + "abi_value": 36 + }, + "mpi_band": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_BAND", + "abi_value": 40 + }, + "mpi_bor": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_BOR", + "abi_value": 41 + }, + "mpi_bxor": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_BXOR", + "abi_value": 42 + }, + "mpi_land": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_LAND", + "abi_value": 48 + }, + "mpi_lor": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_LOR", + "abi_value": 49 + }, + "mpi_lxor": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_LXOR", + "abi_value": 50 + }, + "mpi_minloc": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MINLOC", + "abi_value": 56 + }, + "mpi_maxloc": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_MAXLOC", + "abi_value": 57 + }, + "mpi_replace": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_REPLACE", + "abi_value": 60 + }, + "mpi_no_op": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "category": "COLLECTIVE_OPS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_NO_OP", + "abi_value": 61 + }, + "mpi_group_null": { + "handle_types": { + "c": { + "type": "MPI_Group", + "description": "\\ctype{MPI_Group}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Group", + "description": "\\mpiftype{MPI_Group}" + } + }, + "category": "GROUP_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_GROUP_NULL", + "abi_value": 264 + }, + "mpi_group_empty": { + "handle_types": { + "c": { + "type": "MPI_Group", + "description": "\\ctype{MPI_Group}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Group", + "description": "\\mpiftype{MPI_Group}" + } + }, + "category": "GROUP_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_GROUP_EMPTY", + "abi_value": 265 + }, + "mpi_request_null": { + "handle_types": { + "c": { + "type": "MPI_Request", + "description": "\\ctype{MPI_Request}" + }, + "f90": { + "type": "INTEGER", + "description": null + }, + "f08": { + "type": "TYPE(MPI_Request)", + "description": null + } + }, + "category": "OTHER_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_REQUEST_NULL", + "abi_value": 384 + }, + "mpi_file_null": { + "handle_types": { + "c": { + "type": "MPI_File", + "description": "\\ctype{MPI_File}" + }, + "f90": { + "type": "INTEGER", + "description": null + }, + "f08": { + "type": "TYPE(MPI_File)", + "description": null + } + }, + "category": "OTHER_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_FILE_NULL", + "abi_value": 280 + }, + "mpi_session_null": { + "handle_types": { + "c": { + "type": "MPI_Session", + "description": "\\ctype{MPI_Session}" + }, + "f90": { + "type": "INTEGER", + "description": null + }, + "f08": { + "type": "TYPE(MPI_Session)", + "description": null + } + }, + "category": "OTHER_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_SESSION_NULL", + "abi_value": 288 + }, + "mpi_win_null": { + "handle_types": { + "c": { + "type": "MPI_Win", + "description": "\\ctype{MPI_Win}" + }, + "f90": { + "type": "INTEGER", + "description": null + }, + "f08": { + "type": "TYPE(MPI_Win)", + "description": null + } + }, + "category": "OTHER_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_WIN_NULL", + "abi_value": 272 + }, + "mpi_comm_null_copy_fn": { + "handle_types": { + "c": { + "type": "MPI_Comm_copy_attr_function", + "description": "\\ctype{MPI_Comm_copy_attr_function}" + }, + "f90": { + "type": "COMM_COPY_ATTR_FUNCTION", + "description": "\\mpifcallback{COMM_COPY_ATTR_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Comm_copy_attr_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Comm_copy_attr_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_COMM_NULL_COPY_FN", + "abi_value": 0 + }, + "mpi_comm_dup_fn": { + "handle_types": { + "c": { + "type": "MPI_Comm_copy_attr_function", + "description": "\\ctype{MPI_Comm_copy_attr_function}" + }, + "f90": { + "type": "COMM_COPY_ATTR_FUNCTION", + "description": "\\mpifcallback{COMM_COPY_ATTR_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Comm_copy_attr_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Comm_copy_attr_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_COMM_DUP_FN", + "abi_value": 1 + }, + "mpi_comm_null_delete_fn": { + "handle_types": { + "c": { + "type": "MPI_Comm_delete_attr_function", + "description": "\\ctype{MPI_Comm_delete_attr_function}" + }, + "f90": { + "type": "COMM_DELETE_ATTR_FUNCTION", + "description": "\\mpifcallback{COMM_DELETE_ATTR_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Comm_delete_attr_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Comm_delete_attr_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_COMM_NULL_DELETE_FN", + "abi_value": 0 + }, + "mpi_win_null_copy_fn": { + "handle_types": { + "c": { + "type": "MPI_Win_copy_attr_function", + "description": "\\ctype{MPI_Win_copy_attr_function}" + }, + "f90": { + "type": "WIN_COPY_ATTR_FUNCTION", + "description": "\\mpifcallback{WIN_COPY_ATTR_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Win_copy_attr_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Win_copy_attr_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_WIN_NULL_COPY_FN", + "abi_value": 0 + }, + "mpi_win_dup_fn": { + "handle_types": { + "c": { + "type": "MPI_Win_copy_attr_function", + "description": "\\ctype{MPI_Win_copy_attr_function}" + }, + "f90": { + "type": "WIN_COPY_ATTR_FUNCTION", + "description": "\\mpifcallback{WIN_COPY_ATTR_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Win_copy_attr_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Win_copy_attr_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_WIN_DUP_FN", + "abi_value": 1 + }, + "mpi_win_null_delete_fn": { + "handle_types": { + "c": { + "type": "MPI_Win_delete_attr_function", + "description": "\\ctype{MPI_Win_delete_attr_function}" + }, + "f90": { + "type": "WIN_DELETE_ATTR_FUNCTION", + "description": "\\mpifcallback{WIN_DELETE_ATTR_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Win_delete_attr_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Win_delete_attr_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_WIN_NULL_DELETE_FN", + "abi_value": 0 + }, + "mpi_type_null_copy_fn": { + "handle_types": { + "c": { + "type": "MPI_Type_copy_attr_function", + "description": "\\ctype{MPI_Type_copy_attr_function}" + }, + "f90": { + "type": "TYPE_COPY_ATTR_FUNCTION", + "description": "\\mpifcallback{TYPE_COPY_ATTR_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Type_copy_attr_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Type_copy_attr_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_TYPE_NULL_COPY_FN", + "abi_value": 0 + }, + "mpi_type_dup_fn": { + "handle_types": { + "c": { + "type": "MPI_Type_copy_attr_function", + "description": "\\ctype{MPI_Type_copy_attr_function}" + }, + "f90": { + "type": "TYPE_COPY_ATTR_FUNCTION", + "description": "\\mpifcallback{TYPE_COPY_ATTR_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Type_copy_attr_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Type_copy_attr_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_TYPE_DUP_FN", + "abi_value": 1 + }, + "mpi_type_null_delete_fn": { + "handle_types": { + "c": { + "type": "MPI_Type_delete_attr_function", + "description": "\\ctype{MPI_Type_delete_attr_function}" + }, + "f90": { + "type": "TYPE_DELETE_ATTR_FUNCTION", + "description": "\\mpifcallback{TYPE_DELETE_ATTR_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Type_delete_attr_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Type_delete_attr_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_TYPE_NULL_DELETE_FN", + "abi_value": 0 + }, + "mpi_conversion_fn_null": { + "handle_types": { + "c": { + "type": "MPI_Datarep_conversion_function", + "description": "\\ctype{MPI_Datarep_conversion_function}" + }, + "f90": { + "type": "DATAREP_CONVERSION_FUNCTION", + "description": "\\mpifcallback{DATAREP_CONVERSION_FUNCTION}}" + }, + "f08": { + "type": "PROCEDURE(MPI_Datarep_conversion_function)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Datarep_conversion_function)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_CONVERSION_FN_NULL", + "abi_value": 0 + }, + "mpi_conversion_fn_null_c": { + "handle_types": { + "c": { + "type": "MPI_Datarep_conversion_function_c", + "description": "\\ctype{MPI_Datarep_conversion_function_c}" + }, + "f90": { + "type": null, + "description": "(n/a)" + }, + "f08": { + "type": "PROCEDURE(MPI_Datarep_conversion_function_c)", + "description": "\\mpifcallbackskip{PROCEDURE(MPI_Datarep_conversion_function_c)}" + } + }, + "category": "FUNCTIONS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_CONVERSION_FN_NULL_C", + "abi_value": 0 + }, + "mpi_null_copy_fn": { + "handle_types": { + "c": { + "type": "MPI_Copy_function", + "description": "\\ctype{MPI_Copy_function}" + }, + "f90": { + "type": "COPY_FUNCTION", + "description": null + }, + "f08": { + "type": "COPY_FUNCTION", + "description": null + } + }, + "category": "DEPRECATED_FUNCS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_NULL_COPY_FN", + "abi_value": 0 + }, + "mpi_dup_fn": { + "handle_types": { + "c": { + "type": "MPI_Copy_function", + "description": "\\ctype{MPI_Copy_function}" + }, + "f90": { + "type": "COPY_FUNCTION", + "description": null + }, + "f08": { + "type": "COPY_FUNCTION", + "description": null + } + }, + "category": "DEPRECATED_FUNCS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_DUP_FN", + "abi_value": 1 + }, + "mpi_null_delete_fn": { + "handle_types": { + "c": { + "type": "MPI_Delete_function", + "description": "\\ctype{MPI_Delete_function}" + }, + "f90": { + "type": "DELETE_FUNCTION", + "description": null + }, + "f08": { + "type": "DELETE_FUNCTION", + "description": null + } + }, + "category": "DEPRECATED_FUNCS", + "macro": "\\mpiconstfunc", + "datatypes": {}, + "name": "MPI_NULL_DELETE_FN", + "abi_value": 0 + }, + "mpi_version": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "C_PREPROCESSOR_CONSTANTS_FORTRAN_PARAMETERS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_VERSION", + "abi_value": null + }, + "mpi_subversion": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "C_PREPROCESSOR_CONSTANTS_FORTRAN_PARAMETERS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_SUBVERSION", + "abi_value": null + }, + "mpi_abi_version": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "C_PREPROCESSOR_CONSTANTS_FORTRAN_PARAMETERS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ABI_VERSION", + "abi_value": 1 + }, + "mpi_abi_subversion": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "C_PREPROCESSOR_CONSTANTS_FORTRAN_PARAMETERS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_ABI_SUBVERSION", + "abi_value": 0 + }, + "mpi_t_enum_null": { + "handle_types": { + "c": { + "type": "MPI_T_enum", + "description": "\\ctype{MPI_T_enum}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_ENUM_NULL", + "abi_value": 0 + }, + "mpi_t_cvar_handle_null": { + "handle_types": { + "c": { + "type": "MPI_T_cvar_handle", + "description": "\\ctype{MPI_T_cvar_handle}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_CVAR_HANDLE_NULL", + "abi_value": 0 + }, + "mpi_t_pvar_handle_null": { + "handle_types": { + "c": { + "type": "MPI_T_pvar_handle", + "description": "\\ctype{MPI_T_pvar_handle}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_HANDLE_NULL", + "abi_value": 0 + }, + "mpi_t_pvar_session_null": { + "handle_types": { + "c": { + "type": "MPI_T_pvar_session", + "description": "\\ctype{MPI_T_pvar_session}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_SESSION_NULL", + "abi_value": 0 + }, + "mpi_t_pvar_all_handles": { + "handle_types": { + "c": { + "type": "MPI_T_pvar_handle", + "description": "\\ctype{MPI_T_pvar_handle}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_HANDLES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_ALL_HANDLES", + "abi_value": 1 + }, + "mpi_t_verbosity_user_basic": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_VERBOSITY_USER_BASIC", + "abi_value": "0x09" + }, + "mpi_t_verbosity_user_detail": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_VERBOSITY_USER_DETAIL", + "abi_value": "0x0a" + }, + "mpi_t_verbosity_user_all": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_VERBOSITY_USER_ALL", + "abi_value": "0x0c" + }, + "mpi_t_verbosity_tuner_basic": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_VERBOSITY_TUNER_BASIC", + "abi_value": "0x11" + }, + "mpi_t_verbosity_tuner_detail": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_VERBOSITY_TUNER_DETAIL", + "abi_value": "0x12" + }, + "mpi_t_verbosity_tuner_all": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_VERBOSITY_TUNER_ALL", + "abi_value": "0x14" + }, + "mpi_t_verbosity_mpidev_basic": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_VERBOSITY_MPIDEV_BASIC", + "abi_value": "0x21" + }, + "mpi_t_verbosity_mpidev_detail": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_VERBOSITY_MPIDEV_DETAIL", + "abi_value": "0x22" + }, + "mpi_t_verbosity_mpidev_all": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "category": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_VERBOSITY_MPIDEV_ALL", + "abi_value": "0x24" + }, + "mpi_t_bind_no_object": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_NO_OBJECT", + "abi_value": 1 + }, + "mpi_t_bind_mpi_comm": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_COMM", + "abi_value": 2 + }, + "mpi_t_bind_mpi_datatype": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_DATATYPE", + "abi_value": 3 + }, + "mpi_t_bind_mpi_errhandler": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_ERRHANDLER", + "abi_value": 4 + }, + "mpi_t_bind_mpi_file": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_FILE", + "abi_value": 5 + }, + "mpi_t_bind_mpi_group": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_GROUP", + "abi_value": 6 + }, + "mpi_t_bind_mpi_op": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_OP", + "abi_value": 7 + }, + "mpi_t_bind_mpi_request": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_REQUEST", + "abi_value": 8 + }, + "mpi_t_bind_mpi_win": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_WIN", + "abi_value": 9 + }, + "mpi_t_bind_mpi_message": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_MESSAGE", + "abi_value": 10 + }, + "mpi_t_bind_mpi_info": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_INFO", + "abi_value": 11 + }, + "mpi_t_bind_mpi_session": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_BIND_MPI_SESSION", + "abi_value": 12 + }, + "mpi_t_scope_constant": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_SCOPES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_SCOPE_CONSTANT", + "abi_value": 1 + }, + "mpi_t_scope_readonly": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_SCOPES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_SCOPE_READONLY", + "abi_value": 2 + }, + "mpi_t_scope_local": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_SCOPES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_SCOPE_LOCAL", + "abi_value": 3 + }, + "mpi_t_scope_group": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_SCOPES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_SCOPE_GROUP", + "abi_value": 4 + }, + "mpi_t_scope_group_eq": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_SCOPES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_SCOPE_GROUP_EQ", + "abi_value": 5 + }, + "mpi_t_scope_all": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_SCOPES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_SCOPE_ALL", + "abi_value": 6 + }, + "mpi_t_scope_all_eq": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_VAR_SCOPES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_SCOPE_ALL_EQ", + "abi_value": 7 + }, + "mpi_t_pvar_class_state": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_STATE", + "abi_value": 1 + }, + "mpi_t_pvar_class_level": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_LEVEL", + "abi_value": 2 + }, + "mpi_t_pvar_class_size": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_SIZE", + "abi_value": 3 + }, + "mpi_t_pvar_class_percentage": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_PERCENTAGE", + "abi_value": 4 + }, + "mpi_t_pvar_class_highwatermark": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_HIGHWATERMARK", + "abi_value": 5 + }, + "mpi_t_pvar_class_lowwatermark": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_LOWWATERMARK", + "abi_value": 6 + }, + "mpi_t_pvar_class_counter": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_COUNTER", + "abi_value": 7 + }, + "mpi_t_pvar_class_aggregate": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_AGGREGATE", + "abi_value": 8 + }, + "mpi_t_pvar_class_timer": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_TIMER", + "abi_value": 9 + }, + "mpi_t_pvar_class_generic": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_PVAR_CLASSES", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_PVAR_CLASS_GENERIC", + "abi_value": 10 + }, + "mpi_t_source_ordered": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_SOURCE_ORDERINGS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_SOURCE_ORDERED", + "abi_value": 1 + }, + "mpi_t_source_unordered": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_SOURCE_ORDERINGS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_SOURCE_UNORDERED", + "abi_value": 2 + }, + "mpi_t_cb_require_none": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_CB_SAFETY_REQ_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_CB_REQUIRE_NONE", + "abi_value": "0x00" + }, + "mpi_t_cb_require_mpi_restricted": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_CB_SAFETY_REQ_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_CB_REQUIRE_MPI_RESTRICTED", + "abi_value": "0x03" + }, + "mpi_t_cb_require_thread_safe": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_CB_SAFETY_REQ_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_CB_REQUIRE_THREAD_SAFE", + "abi_value": "0x0F" + }, + "mpi_t_cb_require_async_signal_safe": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "category": "TOOL_INFO_IFACE_CB_SAFETY_REQ_LEVELS", + "macro": "\\mpiconst", + "datatypes": {}, + "name": "MPI_T_CB_REQUIRE_ASYNC_SIGNAL_SAFE", + "abi_value": "0x3F" + } + }, + "categories": { + "error_classes": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "ERROR_CLASSES", + "name_tex": "Error classes" + }, + "buffer_addr_constants": { + "handle_types": { + "c": { + "type": "void *", + "description": "\\ctype{void *}" + }, + "f90": { + "type": "", + "description": "(predefined memory location)" + }, + "f08": { + "type": "", + "description": "(predefined memory location)" + } + }, + "name": "BUFFER_ADDR_CONSTANTS", + "name_tex": "Buffer address constants" + }, + "empty_ignore_input_constants": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "EMPTY_IGNORE_INPUT_CONSTANTS", + "name_tex": "Constants specifying empty or ignored input" + }, + "max_str_size_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "MAX_STR_SIZE_CONSTANTS", + "name_tex": "Maximum sizes for strings" + }, + "mode_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "MODE_CONSTANTS", + "name_tex": "Mode constants" + }, + "assorted_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "ASSORTED_CONSTANTS", + "name_tex": "Assorted constants" + }, + "threads_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "THREADS_CONSTANTS", + "name_tex": "Threads constants" + }, + "file_operations_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "FILE_OPERATIONS_CONSTANTS", + "name_tex": "File operations constants" + }, + "datatype_decoding_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "DATATYPE_DECODING_CONSTANTS", + "name_tex": "Datatype decoding constants" + }, + "f90_datatype_matching_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "F90_DATATYPE_MATCHING_CONSTANTS", + "name_tex": "F90 datatype matching constants" + }, + "communicator_group_comp_results": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "COMMUNICATOR_GROUP_COMP_RESULTS", + "name_tex": "Results of communicator and group comparisons" + }, + "topologies": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\type{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\type{INTEGER}" + } + }, + "name": "TOPOLOGIES", + "name_tex": "Topologies" + }, + "communicator_split_type": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "COMMUNICATOR_SPLIT_TYPE", + "name_tex": "Communicator split type constants" + }, + "window_lock_type_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "WINDOW_LOCK_TYPE_CONSTANTS", + "name_tex": "Window lock type constants" + }, + "window_create_flavors": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "WINDOW_CREATE_FLAVORS", + "name_tex": "\\MPI/ window create flavors" + }, + "window_models": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "WINDOW_MODELS", + "name_tex": "\\MPI/ window models" + }, + "file_pos_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "FILE_POS_CONSTANTS", + "name_tex": "File positioning constants" + }, + "file_op_constants": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "FILE_OP_CONSTANTS", + "name_tex": "File operation constants" + }, + "env_inq_and_attr_keys": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "ENV_INQ_AND_ATTR_KEYS", + "name_tex": "Environmental inquiry and predefined attribute keys" + }, + "fortran_support_method_constants": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "LOGICAL", + "description": "\\ftype{LOGICAL}" + }, + "f08": { + "type": "LOGICAL", + "description": "\\ftype{LOGICAL}" + } + }, + "name": "FORTRAN_SUPPORT_METHOD_CONSTANTS", + "name_tex": "Fortran support method specific constants" + }, + "status_array_size_and_index_fortran": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "STATUS_ARRAY_SIZE_AND_INDEX_FORTRAN", + "name_tex": "Status array size and reserved index values (Fortran only)" + }, + "fortran_status_array_size_and_index_c": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "FORTRAN_STATUS_ARRAY_SIZE_AND_INDEX_C", + "name_tex": "Fortran status array size and reserved index values (C only)" + }, + "variable_addr_size_fortran": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "VARIABLE_ADDR_SIZE_FORTRAN", + "name_tex": "Variable address size (Fortran only)" + }, + "reserved_communicators": { + "handle_types": { + "c": { + "type": "MPI_Comm", + "description": "\\ctype{MPI_Comm}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_COMM", + "description": "\\mpiftype{TYPE(MPI_Comm)}" + } + }, + "name": "RESERVED_COMMUNICATORS", + "name_tex": "Reserved communicators" + }, + "predefined_datatypes": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "name": "PREDEFINED_DATATYPES", + "name_tex": "Named predefined datatypes" + }, + "opt_datatypes_fortran": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{TYPE(MPI_Datatype)}" + } + }, + "name": "OPT_DATATYPES_FORTRAN", + "name_tex": "Optional datatypes (Fortran)" + }, + "reduction_func_datatypes_c": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "name": "REDUCTION_FUNC_DATATYPES_C", + "name_tex": "Datatypes for reduction functions (C)" + }, + "reduction_func_datatypes_fortran": { + "handle_types": { + "c": { + "type": "MPI_Datatype", + "description": "\\ctype{MPI_Datatype}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Datatype}" + } + }, + "name": "REDUCTION_FUNC_DATATYPES_FORTRAN", + "name_tex": "Datatypes for reduction functions (Fortran)" + }, + "msg_handles": { + "handle_types": { + "c": { + "type": "MPI_Message", + "description": "\\ctype{MPI_Message}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Message", + "description": "\\mpiftype{MPI_Message}" + } + }, + "name": "MSG_HANDLES", + "name_tex": "Predefined message handles" + }, + "error_specifiers": { + "handle_types": { + "c": { + "type": "MPI_Errhandler", + "description": "\\ctype{MPI_Errhandler}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Errhandler}" + } + }, + "name": "ERROR_SPECIFIERS", + "name_tex": "Predefined error-handling specifiers" + }, + "env_inq_info_key": { + "handle_types": { + "c": { + "type": "MPI_Info", + "description": "\\ctype{MPI_Info}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Datatype", + "description": "\\mpiftype{MPI_Info}" + } + }, + "name": "ENV_INQ_INFO_KEY", + "name_tex": "Environmental inquiry info key" + }, + "collective_ops": { + "handle_types": { + "c": { + "type": "MPI_Op", + "description": "\\ctype{MPI_Op}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Op", + "description": "\\mpiftype{MPI_Op}" + } + }, + "name": "COLLECTIVE_OPS", + "name_tex": "Collective operators" + }, + "group_handles": { + "handle_types": { + "c": { + "type": "MPI_Group", + "description": "\\ctype{MPI_Group}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "MPI_Group", + "description": "\\mpiftype{MPI_Group}" + } + }, + "name": "GROUP_HANDLES", + "name_tex": "Predefined group handles" + }, + "other_handles": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "OTHER_HANDLES", + "name_tex": "Other predefined handles" + }, + "functions": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "FUNCTIONS", + "name_tex": "Predefined functions" + }, + "deprecated_funcs": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "DEPRECATED_FUNCS", + "name_tex": "Deprecated predefined functions" + }, + "c_preprocessor_constants_fortran_parameters": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "C_PREPROCESSOR_CONSTANTS_FORTRAN_PARAMETERS", + "name_tex": "C preprocessor constants and Fortran parameters" + }, + "tool_info_iface_handles": { + "handle_types": { + "c": { + "type": null, + "description": null + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "TOOL_INFO_IFACE_HANDLES", + "name_tex": "Handles used in the MPI tool information interface" + }, + "tool_info_iface_verbosity_levels": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + }, + "f08": { + "type": "INTEGER", + "description": "\\ftype{INTEGER}" + } + }, + "name": "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "name_tex": "Verbosity levels in the \\MPI/ tool information interface" + }, + "tool_info_iface_var_associations": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "name_tex": "Constants to identify associations of variables in the \\MPI/ tool information interface" + }, + "tool_info_iface_var_scopes": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "TOOL_INFO_IFACE_VAR_SCOPES", + "name_tex": "Constants describing the scope of a control variable in the \\MPI/ tool information interface" + }, + "tool_info_iface_pvar_classes": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "TOOL_INFO_IFACE_PVAR_CLASSES", + "name_tex": "Performance variable classes used by the \\MPI/ tool information interface" + }, + "tool_info_iface_source_orderings": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "TOOL_INFO_IFACE_SOURCE_ORDERINGS", + "name_tex": "Source event ordering guarantees in the \\MPI/ tool information interface" + }, + "tool_info_iface_cb_safety_req_levels": { + "handle_types": { + "c": { + "type": "int", + "description": "integer constant expression of type \\ctype{int}" + }, + "f90": { + "type": null, + "description": null + }, + "f08": { + "type": null, + "description": null + } + }, + "name": "TOOL_INFO_IFACE_CB_SAFETY_REQ_LEVELS", + "name_tex": "Callback safety requirement levels used in the \\MPI/ tool information interface" + } + }, + "metadata": { + "abi": { + "version": 1, + "subversion": 0 + }, + "mpi": { + "release_date": "2025-06-05", + "version": 5, + "subversion": 0 + }, + "generated_date": "2025-07-30T20:54:57.230061+00:00" + } +} diff --git a/docs/mpi-standard-5.0-apis.json b/docs/mpi-standard-5.0-apis.json new file mode 100644 index 00000000000..b1f20fb978b --- /dev/null +++ b/docs/mpi-standard-5.0-apis.json @@ -0,0 +1,61254 @@ +{ + "mpi_abi_get_fortran_booleans": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Abi_get_fortran_booleans", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the size of Fortran \\code{LOGICAL} in bytes", + "func_type": "", + "kind": "TYPECLASS_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "logical_size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the Fortran literal value \\code{.TRUE.}", + "func_type": "", + "kind": "LOGICAL_VOID", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "logical_true", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the Fortran literal value \\code{.FALSE.}", + "func_type": "", + "kind": "LOGICAL_VOID", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "logical_false", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "flag to indicate whether the logical boolean values were set previously", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "is_set", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_abi_get_fortran_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Abi_get_fortran_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Fortran ABI details info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_abi_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Abi_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ABI details info object (implementation-defined)", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_abi_get_version": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Abi_get_version", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ABI major version", + "func_type": "", + "kind": "VERSION", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "abi_major", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ABI minor version", + "func_type": "", + "kind": "VERSION", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "abi_minor", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_abi_set_fortran_booleans": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Abi_set_fortran_booleans", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the size of Fortran \\code{LOGICAL} in bytes", + "func_type": "", + "kind": "TYPECLASS_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "logical_size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the Fortran literal value \\code{.TRUE.}", + "func_type": "", + "kind": "LOGICAL_VOID", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "logical_true", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the Fortran literal value \\code{.FALSE.}", + "func_type": "", + "kind": "LOGICAL_VOID", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "logical_false", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_abi_set_fortran_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Abi_set_fortran_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Fortran ABI details info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_abort": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Abort", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator of \\MPI/ processes to abort", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error code to return to invoking environment", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_accumulate": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Accumulate", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_addr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from start of window to beginning of target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in target buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in target buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "accumulate operator", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_add_error_class": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Add_error_class", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "value for the new error class", + "func_type": "", + "kind": "ERROR_CLASS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errorclass", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_add_error_code": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Add_error_code", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CLASS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorclass", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new error code to be associated with \\mpiarg{errorclass}", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errorcode", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_add_error_string": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Add_error_string", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error code or class", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "text corresponding to \\mpiarg{errorcode}", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "string", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_aint_add": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Aint_add", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "base address", + "func_type": "", + "kind": "LOCATION_SMALL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "base", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement", + "func_type": "", + "kind": "DISPLACEMENT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + } + ], + "return_kind": "LOCATION_SMALL" + }, + "mpi_aint_diff": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Aint_diff", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "minuend address", + "func_type": "", + "kind": "LOCATION_SMALL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "addr1", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "subtrahend address", + "func_type": "", + "kind": "LOCATION_SMALL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "addr2", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + } + ], + "return_kind": "DISPLACEMENT" + }, + "mpi_allgather": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Allgather", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from any \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_allgather_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Allgather_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_allgatherv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Allgatherv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length group size) containing the number of elements that are received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_allgatherv_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Allgatherv_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) containing the number of elements that are received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_alloc_mem": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": "\\>INTERFACE MPI\\_ALLOC\\_MEM \\\\ \\>\\>SUBROUTINE MPI\\_ALLOC\\_MEM(SIZE, INFO, BASEPTR, IERROR) \\\\ \\>\\>\\>IMPORT :: MPI\\_ADDRESS\\_KIND \\\\ \\>\\>\\>INTEGER :: INFO, IERROR \\\\ \\>\\>\\>INTEGER(KIND=MPI\\_ADDRESS\\_KIND) :: SIZE, BASEPTR \\\\ \\>\\>END SUBROUTINE \\\\ \\>\\>SUBROUTINE MPI\\_ALLOC\\_MEM\\_CPTR(SIZE, INFO, BASEPTR, IERROR) \\\\ \\>\\>\\>USE, INTRINSIC :: ISO\\_C\\_BINDING, ONLY : C\\_PTR \\\\ \\>\\>\\>IMPORT :: MPI\\_ADDRESS\\_KIND \\\\ \\>\\>\\>INTEGER :: INFO, IERROR \\\\ \\>\\>\\>INTEGER(KIND=MPI\\_ADDRESS\\_KIND) :: SIZE \\\\ \\>\\>\\>TYPE(C\\_PTR) :: BASEPTR \\\\ \\>\\>END SUBROUTINE \\\\ \\>END INTERFACE", + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Alloc_mem", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of memory segment in bytes", + "func_type": "", + "kind": "ALLOC_MEM_NUM_BYTES", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "pointer to beginning of memory segment allocated", + "func_type": "", + "kind": "C_BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "baseptr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_allreduce": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Allreduce", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_allreduce_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Allreduce_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_alltoall": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Alltoall", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from any \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_alltoall_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Alltoall_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_alltoallv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Alltoallv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements to send to each rank", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{j} specifies the displacement (relative to \\mpiarg{sendbuf}) from which to take the outgoing data destined for \\MPI/ process \\mpicode{j}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements that can be received from each rank", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_alltoallv_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Alltoallv_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements to send to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{j} specifies the displacement (relative to \\mpiarg{sendbuf}) from which to take the outgoing data destined for \\MPI/ process \\mpicode{j}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements that can be received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_alltoallw": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Alltoallw", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements to send to each rank", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{j} specifies the displacement in bytes (relative to \\mpiarg{sendbuf}) from which to take the outgoing data destined for \\MPI/ process \\mpicode{j}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of datatypes (of length group size). Entry \\mpicode{j} specifies the type of data to send to \\MPI/ process \\mpicode{j}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements that can be received from each rank", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement in bytes (relative to \\mpiarg{recvbuf}) at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of datatypes (of length group size). Entry \\mpicode{i} specifies the type of data received from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_alltoallw_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Alltoallw_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size) specifying the number of elements to send to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{j} specifies the displacement in bytes (relative to \\mpiarg{sendbuf}) from which to take the outgoing data destined for \\MPI/ process \\mpicode{j}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "array of datatypes (of length group size). Entry \\mpicode{j} specifies the type of data to send to \\MPI/ process \\mpicode{j}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size) specifying the number of elements that can be received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement in bytes (relative to \\mpiarg{recvbuf}) at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "array of datatypes (of length group size). Entry \\mpicode{i} specifies the type of data received from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_attr_delete": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": true, + "render_main": true + }, + "name": "MPI_Attr_delete", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator to which attribute is attached", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "The key value of the deleted attribute", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_attr_get": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": true, + "render_main": true + }, + "name": "MPI_Attr_get", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator to which attribute is attached", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "attribute value, unless \\mpiarg{flag} \\mpicode{= false}", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "attribute_val", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if an attribute value was extracted; \\mpicode{false} if no attribute is associated with the key", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_attr_put": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": true, + "render_main": true + }, + "name": "MPI_Attr_put", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator to which attribute will be attached", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value, as returned by \\mpifunc{MPI_KEYVAL_CREATE}", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "attribute value", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_barrier": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Barrier", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_barrier_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Barrier_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_bcast": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Bcast", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "buffer", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of the root", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_bcast_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Bcast_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "buffer", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of broadcast root", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_bsend": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Bsend", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each send buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_bsend_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Bsend_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of each element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_buffer_attach": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Buffer_attach", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial buffer address", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buffer", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer size, in bytes", + "func_type": "", + "kind": "POLYNUM_BYTES_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_buffer_detach": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Buffer_detach", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial buffer address", + "func_type": "", + "kind": "C_BUFFER2", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buffer_addr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer size, in bytes", + "func_type": "", + "kind": "POLYNUM_BYTES", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_buffer_flush": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Buffer_flush", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_buffer_iflush": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Buffer_iflush", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_cancel": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Cancel", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_cart_coords": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Cart_coords", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated Cartesian topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of an \\MPI/ process within group of \\mpiarg{comm}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of vector \\mpiarg{coords} in the calling program", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "maxdims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "coordinates of the \\MPI/ process with the rank \\mpiarg{rank} in Cartesian structure", + "func_type": "", + "kind": "COORDINATE", + "large_only": false, + "length": "maxdims", + "lis_direction": "out", + "name": "coords", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_cart_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Cart_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "input communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_old", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of dimensions of Cartesian grid", + "func_type": "", + "kind": "NUM_DIMS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ndims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array of size \\mpiarg{ndims} specifying the number of processes in each dimension", + "func_type": "", + "kind": "DIMENSION", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "dims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "logical array of size \\mpiarg{ndims} specifying whether the grid is periodic (\\mpicode{true}) or not (\\mpicode{false}) in each dimension", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "periods", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ranks may be reordered (\\mpicode{true}) or not (\\mpicode{false})", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "reorder", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator with associated Cartesian topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "comm_cart", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_cart_get": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Cart_get", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated Cartesian topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of vectors \\mpiarg{dims}, \\mpiarg{periods}, and \\mpiarg{coords} in the calling program", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "maxdims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of \\MPI/ processes for each Cartesian dimension", + "func_type": "", + "kind": "DIMENSION", + "large_only": false, + "length": "maxdims", + "lis_direction": "out", + "name": "dims", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "periodicity (\\mpicode{true}/\\mpicode{false}) for each Cartesian dimension", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": "maxdims", + "lis_direction": "out", + "name": "periods", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "coordinates of calling \\MPI/ process in Cartesian structure", + "func_type": "", + "kind": "COORDINATE", + "large_only": false, + "length": "maxdims", + "lis_direction": "out", + "name": "coords", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_cart_map": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Cart_map", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "input communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of dimensions of Cartesian structure", + "func_type": "", + "kind": "NUM_DIMS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ndims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array of size \\mpiarg{ndims} specifying the number of processes in each coordinate direction", + "func_type": "", + "kind": "DIMENSION", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "dims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "logical array of size \\mpiarg{ndims} specifying the periodicity specification in each coordinate direction", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "periods", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "reordered rank of the calling \\MPI/ process; \\mpiconst{MPI_UNDEFINED} if calling \\MPI/ process does not belong to grid", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newrank", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_cart_rank": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Cart_rank", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated Cartesian topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of size \\mpiarg{ndims}) specifying the Cartesian coordinates of an \\MPI/ process", + "func_type": "", + "kind": "COORDINATE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "coords", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of specified \\MPI/ process within group of \\mpiarg{comm}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "rank", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_cart_shift": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Cart_shift", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated Cartesian topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "coordinate dimension of shift", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "direction", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement ($> 0$: upwards shift, $< 0$: downwards shift)", + "func_type": "", + "kind": "DIMENSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "rank_source", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "rank_dest", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_cart_sub": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Cart_sub", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated Cartesian topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "the \\mpicode{i}-th entry of \\mpiarg{remain_dims} specifies whether the \\mpicode{i}-th dimension is kept in the subgrid (\\mpicode{true}) or is dropped (\\mpicode{false})", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "remain_dims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator with associated Cartesian topology containing the subgrid that includes the calling \\MPI/ process", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_cartdim_get": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Cartdim_get", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated Cartesian topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of dimensions of the Cartesian structure", + "func_type": "", + "kind": "NUM_DIMS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ndims", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_close_port": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Close_port", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "a port", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "port_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_accept": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_accept", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "port name", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "port_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "implementation-dependent information", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of root in \\mpiarg{comm}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator over which call is collective", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "inter-communicator with client as remote group", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_attach_buffer": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_attach_buffer", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial buffer address", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buffer", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer size, in bytes", + "func_type": "", + "kind": "POLYNUM_BYTES_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_COMM" + }, + "mpi_comm_call_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_call_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with error handler", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_compare": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_compare", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "first communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm1", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "second communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm2", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "result", + "func_type": "", + "kind": "COMM_COMPARISON", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "result", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_connect": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_connect", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "network address", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "port_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "implementation-dependent information", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of root in \\mpiarg{comm}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator over which call is collective", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "inter-communicator with server as remote group", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_copy_attr_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_copy_attr_function", + "name_f90": "COMM_COPY_ATTR_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldcomm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "attribute_val_out", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group, which is a subset of the group of \\mpiarg{comm}", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_create_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_create_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "user defined error handling procedure", + "func_type": "MPI_Comm_errhandler_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_errhandler_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errhandler", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_create_from_group": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_create_from_group", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "unique identifier for this operation", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "stringtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error handler to be attached to new intra-communicator", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_create_group": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_create_group", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group, which is a subset of the group of \\mpiarg{comm}", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_create_keyval": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_create_keyval", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "copy callback function for \\mpiarg{comm_keyval}", + "func_type": "MPI_Comm_copy_attr_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_copy_attr_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "delete callback function for \\mpiarg{comm_keyval}", + "func_type": "MPI_Comm_delete_attr_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_delete_attr_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value for future access", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "comm_keyval", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "extra state for callback function", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_delete_attr": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_delete_attr", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator from which the attribute is deleted", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_delete_attr_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_delete_attr_function", + "name_f90": "COMM_DELETE_ATTR_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "attribute_val", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_detach_buffer": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_detach_buffer", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial buffer address", + "func_type": "", + "kind": "C_BUFFER2", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buffer_addr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer size, in bytes", + "func_type": "", + "kind": "POLYNUM_BYTES", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_disconnect": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_disconnect", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_dup": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_dup", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "copy of \\mpiarg{comm}", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_dup_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Comm_copy_attr_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_COMM_DUP_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldcomm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_out", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_dup_with_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_dup_with_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "copy of \\mpiarg{comm}", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_errhandler_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_errhandler_function", + "name_f90": "COMM_ERRHANDLER_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "error_code", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "VARARGS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "varargs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + } + ], + "return_kind": "NOTHING" + }, + "mpi_comm_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_COMM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "COMMUNICATOR" + }, + "mpi_comm_flush_buffer": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_flush_buffer", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator to be destroyed", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_free_keyval": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_free_keyval", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm_keyval", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "COMMUNICATOR" + }, + "mpi_comm_get_attr": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_get_attr", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator to which the attribute is attached", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "attribute value, unless \\mpiarg{flag}\\mpicode{ = false}", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "attribute_val", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{false} if no attribute is associated with the key", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_get_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_get_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error handler currently associated with communicator", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errhandler", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator object", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info_used", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_get_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_get_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator whose name is to be returned", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the name previously stored on the communicator, or an empty string if no such name exists", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "MPI_MAX_OBJECT_NAME", + "lis_direction": "out", + "name": "comm_name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of returned name", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "resultlen", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_get_parent": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_get_parent", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the parent communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "parent", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_group": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_group", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group corresponding to \\mpiarg{comm}", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "group", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_idup": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_idup", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "copy of \\mpiarg{comm}", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_idup_with_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_idup_with_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "copy of \\mpiarg{comm}", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_iflush_buffer": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_iflush_buffer", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_join": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_join", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "socket file descriptor", + "func_type": "", + "kind": "FILE_DESCRIPTOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fd", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new inter-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "intercomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_null_copy_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Comm_copy_attr_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_COMM_NULL_COPY_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldcomm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_out", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_null_delete_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Comm_delete_attr_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_COMM_NULL_DELETE_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_rank": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_rank", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of the calling \\MPI/ process in group of \\mpiarg{comm}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "rank", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_remote_group": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_remote_group", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "inter-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "remote group corresponding to \\mpiarg{comm}", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "group", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_remote_size": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_remote_size", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "inter-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of \\MPI/ processes in the remote group of \\mpiarg{comm}", + "func_type": "", + "kind": "COMM_SIZE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_set_attr": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_set_attr", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator to which attribute will be attached", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "attribute value", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_set_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_set_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new error handler for communicator", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_set_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_set_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_set_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_set_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator whose identifier is to be set", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "the character string that is remembered as the name", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_size": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_size", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of \\MPI/ processes in the group of \\mpiarg{comm}", + "func_type": "", + "kind": "COMM_SIZE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_spawn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_spawn", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "name of program to be spawned", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "command", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "arguments to \\mpiarg{command}", + "func_type": "", + "kind": "STRING_ARRAY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "argv", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "maximum number of processes to start", + "func_type": "", + "kind": "COMM_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "maxprocs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "a set of key-value pairs telling the runtime system where and how to start the processes", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of process in which previous arguments are examined", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator containing group of spawning processes", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "inter-communicator between original group and the newly spawned group", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "intercomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "one code per process", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": "", + "lis_direction": "out", + "name": "array_of_errcodes", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_spawn_multiple": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_spawn_multiple", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of commands", + "func_type": "", + "kind": "ARRAY_LENGTH_PI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "programs to be executed", + "func_type": "", + "kind": "STRING_ARRAY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "array_of_commands", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "arguments for \\mpiarg{commands}", + "func_type": "", + "kind": "STRING_2DARRAY", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_argv", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "hidden", + "asynchronous": false, + "constant": true, + "desc": "maximum number of processes to start for each command", + "func_type": "", + "kind": "COMM_SIZE", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_maxprocs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "hidden", + "asynchronous": false, + "constant": true, + "desc": "info objects telling the runtime system where and how to start processes", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of process in which previous arguments are examined", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator containing group of spawning processes", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "inter-communicator between original group and the newly spawned group", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "intercomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "one error code per process", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": "", + "lis_direction": "out", + "name": "array_of_errcodes", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_split": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_split", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "control of subset assignment", + "func_type": "", + "kind": "COLOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "color", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "control of rank assignment", + "func_type": "", + "kind": "KEY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "key", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_split_type": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_split_type", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of processes to be grouped together", + "func_type": "", + "kind": "SPLIT_TYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "split_type", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "control of rank assignment", + "func_type": "", + "kind": "KEY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "key", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newcomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_test_inter": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_test_inter", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if \\mpiarg{comm} is an inter-communicator", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_comm_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Comm_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_compare_and_swap": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Compare_and_swap", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_addr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of compare buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "compare_addr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of result buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "result_addr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of the element in all buffers", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from start of window to beginning of target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_conversion_fn_null": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": true, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": false, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Datarep_conversion_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_CONVERSION_FN_NULL", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "C_BUFFER3", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "userbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "C_BUFFER3", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "filebuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "position", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_copy_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": true, + "render_main": true + }, + "name": "MPI_Copy_function", + "name_f90": "COPY_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldcomm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE2", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "attribute_val_out", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_datarep_conversion_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Datarep_conversion_function", + "name_f90": "DATAREP_CONVERSION_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "C_BUFFER3", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "userbuf", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "C_BUFFER3", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "filebuf", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "position", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "extra_state", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_datarep_extent_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Datarep_extent_function", + "name_f90": "DATAREP_EXTENT_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DISPOFFSET_SMALL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "extent", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "extra_state", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_delete_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": true, + "render_main": true + }, + "name": "MPI_Delete_function", + "name_f90": "DELETE_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE2", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_dims_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Dims_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of nodes in a grid", + "func_type": "", + "kind": "COMM_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "nnodes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of Cartesian dimensions", + "func_type": "", + "kind": "NUM_DIMS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ndims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "integer array of size \\mpiarg{ndims} specifying the number of nodes in each dimension", + "func_type": "", + "kind": "DIMENSION", + "large_only": false, + "length": "ndims", + "lis_direction": "inout", + "name": "dims", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_dist_graph_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Dist_graph_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "input communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_old", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of source nodes for which this \\MPI/ process specifies edges", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "n", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array containing the \\mpiarg{n} source nodes for which this \\MPI/ process specifies edges", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": "n", + "lis_direction": "in", + "name": "sources", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array specifying the number of destinations for each source node in the source node array", + "func_type": "", + "kind": "DEGREE", + "large_only": false, + "length": "n", + "lis_direction": "in", + "name": "degrees", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "destination nodes for the source nodes in the source node array", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "destinations", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "weights for source to destination edges", + "func_type": "", + "kind": "WEIGHT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "weights", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "hints on optimization and interpretation of weights", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ranks may be reordered (\\mpicode{true}) or not~(\\mbox{\\mpicode{false}})", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "reorder", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator with associated distributed graph topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "comm_dist_graph", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_dist_graph_create_adjacent": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Dist_graph_create_adjacent", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "input communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_old", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of \\mpiarg{sources} and \\mpiarg{sourceweights} arrays", + "func_type": "", + "kind": "DEGREE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "indegree", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "ranks of \\MPI/ processes for which the calling process is a destination", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": "indegree", + "lis_direction": "in", + "name": "sources", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "weights of the edges into the calling \\MPI/ process", + "func_type": "", + "kind": "WEIGHT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sourceweights", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of \\mpiarg{destinations} and \\mpiarg{destweights} arrays", + "func_type": "", + "kind": "DEGREE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "outdegree", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "ranks of \\MPI/ processes for which the calling \\MPI/ process is a source", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": "outdegree", + "lis_direction": "in", + "name": "destinations", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "weights of the edges out of the calling \\MPI/ process", + "func_type": "", + "kind": "WEIGHT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "destweights", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "hints on optimization and interpretation of weights", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ranks may be reordered (\\mpicode{true}) or not~(\\mbox{\\mpicode{false}})", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "reorder", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator with associated distributed graph topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "comm_dist_graph", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_dist_graph_neighbors": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Dist_graph_neighbors", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated distributed graph topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of sources and sourceweights arrays", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "maxindegree", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ranks of \\MPI/ processes for which the calling \\MPI/ process is a destination", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": "maxindegree", + "lis_direction": "out", + "name": "sources", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "weights of the edges into the calling \\MPI/ process", + "func_type": "", + "kind": "WEIGHT", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "sourceweights", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of destinations and destweights arrays", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "maxoutdegree", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ranks of \\MPI/ processes for which the calling \\MPI/ process is a source", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": "maxoutdegree", + "lis_direction": "out", + "name": "destinations", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "weights of the edges out of the calling \\MPI/ process", + "func_type": "", + "kind": "WEIGHT", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "destweights", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_dist_graph_neighbors_count": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Dist_graph_neighbors_count", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated distributed graph topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of edges into this \\MPI/ process", + "func_type": "", + "kind": "DEGREE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "indegree", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of edges out of this \\MPI/ process", + "func_type": "", + "kind": "DEGREE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "outdegree", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{false} if \\mpiconst{MPI_UNWEIGHTED} was supplied during creation, \\mpicode{true} otherwise", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "weighted", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_dup_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Copy_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_DUP_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldcomm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE2", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_out", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_errhandler_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Errhandler_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_ERRHANDLER" + }, + "mpi_errhandler_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Errhandler_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERRHANDLER" + }, + "mpi_errhandler_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Errhandler_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "errhandler", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_errhandler_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Errhandler_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERRHANDLER" + }, + "mpi_errhandler_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Errhandler_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_error_class": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Error_class", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Error code returned by an \\MPI/ routine", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Error class associated with \\mpiarg{errorcode}", + "func_type": "", + "kind": "ERROR_CLASS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errorclass", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_error_string": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Error_string", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Error code returned by an \\MPI/ routine", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Text that corresponds to the \\mpiarg{errorcode}", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "MPI_MAX_ERROR_STRING", + "lis_direction": "out", + "name": "string", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Length (in printable characters) of the result returned in \\mpiarg{string}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "resultlen", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_exscan": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Exscan", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in input buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of input buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_exscan_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Exscan_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in input buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of input buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_f_sync_reg": { + "attributes": { + "c_expressible": false, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_F_sync_reg", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "buf", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_fetch_and_op": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Fetch_and_op", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_addr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of result buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "result_addr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of the entry in origin, result, and target buffers", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from start of window to beginning of target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "accumulate operator", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "file", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_FILE" + }, + "mpi_file_call_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_call_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file with error handler", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_close": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_close", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_create_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_create_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "user defined error handling procedure", + "func_type": "MPI_File_errhandler_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "file_errhandler_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errhandler", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_delete": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_delete", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "name of file to delete", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "filename", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_errhandler_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_errhandler_function", + "name_f90": "FILE_ERRHANDLER_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "file", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "error_code", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "VARARGS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "varargs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + } + ], + "return_kind": "NOTHING" + }, + "mpi_file_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "file", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "FILE" + }, + "mpi_file_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "file", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "FILE" + }, + "mpi_file_get_amode": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_amode", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file access mode used to open the file", + "func_type": "", + "kind": "ACCESS_MODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "amode", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_atomicity": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_atomicity", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if atomic mode, \\mpicode{false} if nonatomic mode", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_byte_offset": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_byte_offset", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "absolute byte position of offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "disp", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "file", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error handler currently associated with file", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errhandler", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_group": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_group", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group that opened the file", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "group", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info_used", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_position": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_position", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "offset of individual pointer", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "offset", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_position_shared": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_position_shared", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "offset of shared pointer", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "offset", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_size": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_size", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of the file in bytes", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_type_extent": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_type_extent", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype extent", + "func_type": "", + "kind": "POLYDISPOFFSET", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "extent", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_get_view": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_get_view", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "disp", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "elementary datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "etype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "filetype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "filetype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "data representation", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "datarep", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iread": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iread", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iread_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iread_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iread_at": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iread_at", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iread_at_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iread_at_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iread_shared": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iread_shared", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iwrite": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iwrite", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iwrite_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iwrite_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iwrite_at": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iwrite_at", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iwrite_at_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iwrite_at_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_iwrite_shared": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_iwrite_shared", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request object", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_open": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_open", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "name of file to open", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "filename", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file access mode", + "func_type": "", + "kind": "ACCESS_MODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "amode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "fh", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_preallocate": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_preallocate", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size to preallocate file", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_all_begin": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_all_begin", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_all_end": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_all_end", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_at": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_at", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_at_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_at_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_at_all_begin": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_at_all_begin", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_at_all_end": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_at_all_end", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_ordered": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_ordered", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_ordered_begin": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_ordered_begin", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_ordered_end": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_ordered_end", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_read_shared": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_read_shared", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_seek": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_seek", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "update mode", + "func_type": "", + "kind": "UPDATE_MODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "whence", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_seek_shared": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_seek_shared", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "update mode", + "func_type": "", + "kind": "UPDATE_MODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "whence", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_set_atomicity": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_set_atomicity", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} to set atomic mode, \\mpicode{false} to set nonatomic mode", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "flag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_set_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_set_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "file", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new error handler for file", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_set_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_set_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_set_size": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_set_size", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size to truncate or expand file", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_set_view": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_set_view", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "elementary datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "etype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "filetype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "filetype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "data representation", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datarep", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_sync": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_sync", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "file", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_file_write": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_all_begin": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_all_begin", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_all_end": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_all_end", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_at": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_at", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_at_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_at_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_at_all_begin": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_at_all_begin", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file offset", + "func_type": "", + "kind": "OFFSET", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "offset", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_at_all_end": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_at_all_end", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_ordered": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_ordered", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_ordered_begin": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_ordered_begin", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_ordered_end": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_ordered_end", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_file_write_shared": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_File_write_shared", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "file handle", + "func_type": "", + "kind": "FILE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "fh", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_finalize": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Finalize", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_finalized": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Finalized", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "true if \\mpifunc{MPI\\_FINALIZE} has been called and false otherwise.", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_free_mem": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Free_mem", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of memory segment allocated by \\mpifunc{MPI_ALLOC_MEM}", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "base", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_gather": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Gather", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements for any single receive", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of recv buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of receiving \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_gather_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Gather_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements for any single receive", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of recv buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of receiving \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_gatherv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Gatherv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length group size) containing the number of elements that are received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement relative to \\mpiarg{recvbuf} at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of recv buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of receiving \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_gatherv_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Gatherv_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) containing the number of elements that are received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement relative to \\mpiarg{recvbuf} at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of recv buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of receiving \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of origin buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "origin_addr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in origin buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in origin buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from window start to the beginning of the target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in target buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in target buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window used for communication", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get_accumulate": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get_accumulate", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_addr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in origin buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in origin buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of result buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "result_addr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in result buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "result_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in result buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "result_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from start of window to beginning of target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in target buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in target buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "accumulate operator", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get_address": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get_address", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "location in caller memory", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "location", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of location", + "func_type": "", + "kind": "DISPLACEMENT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "address", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get_count": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get_count", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "return status of receive operation", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each receive buffer entry", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of received entries", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "count", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get_elements": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get_elements", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "return status of receive operation", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype used by receive operation", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of received basic elements", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "count", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get_elements_x": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get_elements_x", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "return status of receive operation", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype used by receive operation", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of received basic elements", + "func_type": "", + "kind": "NUM_BYTES", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "count", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get_hw_resource_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get_hw_resource_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object created", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "hw_info", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get_library_version": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get_library_version", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "version number", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "MPI_MAX_LIBRARY_VERSION_STRING", + "lis_direction": "out", + "name": "version", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Length (in printable characters) of the result returned in \\mpiarg{version}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "resultlen", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get_processor_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get_processor_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "A unique specifier for the actual (as opposed to virtual) node.", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "MPI_MAX_PROCESSOR_NAME", + "lis_direction": "out", + "name": "name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Length (in printable characters) of the result returned in \\mpiarg{name}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "resultlen", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_get_version": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Get_version", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "version number", + "func_type": "", + "kind": "VERSION", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "version", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "subversion number", + "func_type": "", + "kind": "VERSION", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "subversion", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_graph_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Graph_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "input communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm_old", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of nodes in graph", + "func_type": "", + "kind": "COMM_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "nnodes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of integers describing node degrees (see below)", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": "nnodes", + "lis_direction": "in", + "name": "index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of integers describing graph edges (see below)", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "edges", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ranks may be reordered (\\mpicode{true}) or not (\\mpicode{false})", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "reorder", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new communicator with associated graph topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "comm_graph", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_graph_get": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Graph_get", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated graph topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of vector \\mpiarg{index} in the calling program", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "maxindex", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of vector \\mpiarg{edges} in the calling program", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "maxedges", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of integers containing the graph structure (for details see the definition of \\mpifunc{MPI_GRAPH_CREATE})", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": "maxindex", + "lis_direction": "out", + "name": "index", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of integers containing the graph structure", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": "maxedges", + "lis_direction": "out", + "name": "edges", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_graph_map": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Graph_map", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "input communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of graph nodes", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "nnodes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array specifying the graph structure (for details see the definition of \\mpifunc{MPI_GRAPH_CREATE})", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": "nnodes", + "lis_direction": "in", + "name": "index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array specifying the graph structure", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "edges", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "reordered rank of the calling \\MPI/ process; \\mpiconst{MPI_UNDEFINED} if the calling \\MPI/ process does not belong to graph", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newrank", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_graph_neighbors": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Graph_neighbors", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated graph topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of \\MPI/ process in group of \\mpiarg{comm}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of array \\mpiarg{neighbors}", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "maxneighbors", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ranks of \\MPI/ processes that are neighbors to specified \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": "maxneighbors", + "lis_direction": "out", + "name": "neighbors", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_graph_neighbors_count": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Graph_neighbors_count", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated graph topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of \\MPI/ process in group of \\mpiarg{comm}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of neighbors of specified \\MPI/ process", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "nneighbors", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_graphdims_get": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Graphdims_get", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated graph topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of nodes in graph (same as number of \\MPI/ processes in the group of \\mpiarg{comm})", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "nnodes", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of edges in graph", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "nedges", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_grequest_cancel_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Grequest_cancel_function", + "name_f90": "GREQUEST_CANCEL_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "complete", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_grequest_complete": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Grequest_complete", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "generalized request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_grequest_free_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Grequest_free_function", + "name_f90": "GREQUEST_FREE_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_grequest_query_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Grequest_query_function", + "name_f90": "GREQUEST_QUERY_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_grequest_start": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Grequest_start", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "callback function invoked when request status is queried", + "func_type": "MPI_Grequest_query_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "query_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "callback function invoked when request is freed", + "func_type": "MPI_Grequest_free_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "free_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "callback function invoked when request is cancelled", + "func_type": "MPI_Grequest_cancel_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cancel_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "extra state", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "generalized request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_GROUP" + }, + "mpi_group_compare": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_compare", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "first group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group1", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "second group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group2", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "result", + "func_type": "", + "kind": "GROUP_COMPARISON", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "result", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_difference": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_difference", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "first group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group1", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "second group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group2", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "difference group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newgroup", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_excl": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_excl", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in array \\mpiarg{ranks}", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "n", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of integer ranks of \\MPI/ processes in \\mpiarg{group} not to appear in \\mpiarg{newgroup}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": "n", + "lis_direction": "in", + "name": "ranks", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new group derived from above, preserving the order defined by \\mpiarg{group}", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newgroup", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "GROUP" + }, + "mpi_group_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "group", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_from_session_pset": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_from_session_pset", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "session", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "name of process set to use to create the new group", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pset_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new group derived from supplied session and process set", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newgroup", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "GROUP" + }, + "mpi_group_incl": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_incl", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in array \\mpiarg{ranks} (and size of \\mpiarg{newgroup})", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "n", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "ranks of processes in \\mpiarg{group} to appear in \\mpiarg{newgroup}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": "n", + "lis_direction": "in", + "name": "ranks", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new group derived from above, in the order defined by \\mpiarg{ranks}", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newgroup", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_intersection": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_intersection", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "first group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group1", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "second group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group2", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intersection group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newgroup", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_range_excl": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_range_excl", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of triplets in array \\mpiarg{ranges}", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "n", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "a one-dimensional array of integer triplets, of the form (first rank, last rank, stride) indicating ranks in \\mpiarg{group} of \\MPI/ processes to be excluded from the output group \\mpiarg{newgroup}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": [ + "n", + "3" + ], + "lis_direction": "in", + "name": "ranges", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new group derived from above, preserving the order in \\mpiarg{group}", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newgroup", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_range_incl": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_range_incl", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of triplets in array \\mpiarg{ranges}", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "n", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "a one-dimensional array of integer triplets, of the form (first rank, last rank, stride) indicating ranks in \\mpiarg{group} of \\MPI/ processes to be included in \\mpiarg{newgroup}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": [ + "n", + "3" + ], + "lis_direction": "in", + "name": "ranges", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new group derived from above, in the order defined by \\mpiarg{ranges}", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newgroup", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_rank": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_rank", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of the calling \\MPI/ process in group, or \\mpiconst{MPI_UNDEFINED} if the \\MPI/ process is not a member", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "rank", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_size": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_size", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of \\MPI/ processes in the group", + "func_type": "", + "kind": "COMM_SIZE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_group_translate_ranks": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_translate_ranks", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group1", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group1", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in \\mpiarg{ranks1} and \\mpiarg{ranks2} arrays", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "n", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of zero or more valid ranks in group1", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": "n", + "lis_direction": "in", + "name": "ranks1", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group2", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group2", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of corresponding ranks in group2, \\mpiconst{MPI_UNDEFINED} when no correspondence exists.", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": "n", + "lis_direction": "out", + "name": "ranks2", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_group_union": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Group_union", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "first group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group1", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "second group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group2", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "union group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newgroup", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_iallgather": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Iallgather", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from any \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_iallgatherv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Iallgatherv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) containing the number of elements that are received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_iallreduce": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Iallreduce", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ialltoall": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ialltoall", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from any \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ialltoallv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ialltoallv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements to send to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{j} specifies the displacement (relative to \\mpiarg{sendbuf}) from which to take the outgoing data destined for \\MPI/ process \\mpicode{j}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements that can be received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ialltoallw": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ialltoallw", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size) specifying the number of elements to send to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{j} specifies the displacement in bytes (relative to \\mpiarg{sendbuf}) from which to take the outgoing data destined for \\MPI/ process \\mpicode{j}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "array of datatypes (of length group size). Entry \\mpicode{j} specifies the type of data to send to \\MPI/ process \\mpicode{j}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size) specifying the number of elements that can be received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement in bytes (relative to \\mpiarg{recvbuf}) at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "array of datatypes (of length group size). Entry \\mpicode{i} specifies the type of data received from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ibarrier": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ibarrier", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ibcast": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ibcast", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "buffer", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of broadcast root", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ibsend": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ibsend", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each send buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_iexscan": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Iexscan", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in input buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of input buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_igather": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Igather", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements for any single receive", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of recv buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of receiving \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_igatherv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Igatherv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) containing the number of elements that are received from each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement relative to \\mpiarg{recvbuf} at which to place the incoming data from \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of recv buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of receiving \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_improbe": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Improbe", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if there is a matching message that can be received", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "returned message", + "func_type": "", + "kind": "MESSAGE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "message", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_imrecv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Imrecv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each receive buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message", + "func_type": "", + "kind": "MESSAGE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "message", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ineighbor_allgather": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ineighbor_allgather", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ineighbor_allgatherv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ineighbor_allgatherv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length indegree) containing the number of elements that are received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length indegree). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at rwhich to place the incoming data from neighbor \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ineighbor_alltoall": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ineighbor_alltoall", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ineighbor_alltoallv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ineighbor_alltoallv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length outdegree) specifying the number of elements to send to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length outdegree). Entry \\mpicode{j} specifies the displacement (relative to \\mpiarg{sendbuf}) from which send the outgoing data to neighbor \\mpicode{j}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length indegree) specifying the number of elements that are received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length indegree). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from neighbor \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ineighbor_alltoallw": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ineighbor_alltoallw", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length outdegree) specifying the number of elements to send to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length outdegree). Entry \\mpicode{j} specifies the displacement in bytes (relative to \\mpiarg{sendbuf}) from which to take the outgoing data destined for neighbor \\mpicode{j}", + "func_type": "", + "kind": "DISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "array of datatypes (of length outdegree). Entry \\mpicode{j} specifies the type of data to send to neighbor \\mpicode{j}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length indegree) specifying the number of elements that are received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length indegree). Entry \\mpicode{i} specifies the displacement in bytes (relative to \\mpiarg{recvbuf}) at which to place the incoming data from neighbor \\mpicode{i}", + "func_type": "", + "kind": "DISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "array of datatypes (of length indegree). Entry \\mpicode{i} specifies the type of data received from neighbor \\mpicode{i}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_INFO" + }, + "mpi_info_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object created", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_create_env": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_create_env", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ARGUMENT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "argc", + "optional": false, + "param_direction": "inout", + "pointer": false, + "root_only": false, + "suppress": "lis_parameter f08_parameter f90_parameter" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ARGUMENT_LIST", + "large_only": false, + "length": "argc", + "lis_direction": "inout", + "name": "argv", + "optional": false, + "param_direction": "inout", + "pointer": false, + "root_only": false, + "suppress": "lis_parameter f08_parameter f90_parameter" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_delete": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_delete", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "key", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "key", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_dup": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_dup", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object created", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newinfo", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "INFO" + }, + "mpi_info_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "info", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "INFO" + }, + "mpi_info_get": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_get", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "key", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "key", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of value associated with \\mpiarg{key}", + "func_type": "", + "kind": "INFO_VALUE_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "valuelen", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "value", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "valuelen", + "lis_direction": "out", + "name": "value", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if \\mpiarg{key} defined, \\mpicode{false} if not", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_get_nkeys": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_get_nkeys", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of defined keys", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "nkeys", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_get_nthkey": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_get_nthkey", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key number", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "n", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "key", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_get_string": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_get_string", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "key", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "key", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of buffer", + "func_type": "", + "kind": "INFO_VALUE_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "buflen", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "value", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "value", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if \\mpiarg{key} is defined, \\mpicode{false} otherwise", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_get_valuelen": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_get_valuelen", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "key", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "key", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of value associated with \\mpiarg{key}", + "func_type": "", + "kind": "INFO_VALUE_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "valuelen", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if \\mpiarg{key} defined, \\mpicode{false} if not", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_set": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_set", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "key", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "key", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "value", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "value", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_info_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Info_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ARGUMENT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "argc", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "lis_parameter f08_parameter f90_parameter" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ARGUMENT_LIST", + "large_only": false, + "length": "argc", + "lis_direction": "inout", + "name": "argv", + "optional": false, + "param_direction": "inout", + "pointer": true, + "root_only": false, + "suppress": "lis_parameter f08_parameter f90_parameter" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_init_thread": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Init_thread", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ARGUMENT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "argc", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "lis_parameter f08_parameter f90_parameter" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ARGUMENT_LIST", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "argv", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "lis_parameter f08_parameter f90_parameter" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "desired level of thread support", + "func_type": "", + "kind": "THREAD_LEVEL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "required", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "provided level of thread support", + "func_type": "", + "kind": "THREAD_LEVEL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "provided", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_initialized": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Initialized", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Flag is true if \\mpifunc{MPI_INIT} or \\mpifunc{MPI_INIT_THREAD} has been called and false otherwise", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_intercomm_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Intercomm_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "local intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "local_comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of local group leader in \\mpiarg{local_comm}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "local_leader", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "``peer'' communicator; significant only at the \\mpiarg{local_leader}", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "peer_comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of remote group leader in \\mpiarg{peer_comm}; significant only at the \\mpiarg{local_leader}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "remote_leader", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new inter-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newintercomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_intercomm_create_from_groups": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Intercomm_create_from_groups", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "local group", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "local_group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of local group leader in \\mpiarg{local\\_group}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "local_leader", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "remote group, significant only at \\mpiarg{local\\_leader}", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "remote_group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of remote group leader in \\mpiarg{remote\\_group}, significant only at \\mpiarg{local\\_leader}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "remote_leader", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "unique identifier for this operation", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "stringtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error handler to be attached to new inter-communicator", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new inter-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newintercomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_intercomm_merge": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Intercomm_merge", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "inter-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "intercomm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "ordering of the local and remote groups in the new intra-communicator", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "high", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newintracomm", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_iprobe": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Iprobe", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if there is a matching message that can be received", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_irecv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Irecv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each receive buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ireduce": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ireduce", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "reduce operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of the root", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ireduce_scatter": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ireduce_scatter", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array specifying the number of elements in result distributed to each \\MPI/ process.", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of input buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ireduce_scatter_block": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ireduce_scatter_block", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "element count per block", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send and receive buffers", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_irsend": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Irsend", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each send buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_is_thread_main": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Is_thread_main", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "true if calling thread is main thread, false otherwise", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_iscan": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Iscan", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in input buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of input buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_iscatter": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Iscatter", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of sending \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_iscatterv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Iscatterv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements to send to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{sendbuf}) from which to take the outgoing data to \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of sending \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_isend": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Isend", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each send buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_isendrecv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Isendrecv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each send buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "send tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each receive buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "receive tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_isendrecv_replace": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Isendrecv_replace", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of send and receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "buf", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send and receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of elements in send and receive buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "send message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "receive message tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_issend": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Issend", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each send buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_keyval_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": true, + "render_main": true + }, + "name": "MPI_Keyval_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Copy callback function for \\mpiarg{keyval}", + "func_type": "MPI_Copy_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "copy_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Delete callback function for \\mpiarg{keyval}", + "func_type": "MPI_Delete_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "delete_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value for future access", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "keyval", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Extra state for callback functions", + "func_type": "", + "kind": "EXTRA_STATE2", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_keyval_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": true, + "render_main": true + }, + "name": "MPI_Keyval_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "Frees the integer key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "keyval", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_lookup_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Lookup_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "a service name", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "service_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "implementation-specific information", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "a port name", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "MPI_MAX_PORT_NAME", + "lis_direction": "out", + "name": "port_name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_message_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Message_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "MESSAGE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "message", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_MESSAGE" + }, + "mpi_message_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Message_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_MESSAGE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "message", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "MESSAGE" + }, + "mpi_message_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Message_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "message", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "MESSAGE" + }, + "mpi_message_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Message_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "MESSAGE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "message", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_mprobe": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Mprobe", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "returned message", + "func_type": "", + "kind": "MESSAGE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "message", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_mrecv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Mrecv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each receive buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message", + "func_type": "", + "kind": "MESSAGE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "message", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_allgather": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_allgather", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_allgather_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_allgather_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_allgatherv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_allgatherv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length indegree) containing the number of elements that are received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length indegree). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from neighbor \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_allgatherv_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_allgatherv_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length indegree) containing the number of elements that are received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length indegree). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from neighbor \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_alltoall": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_alltoall", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_alltoall_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_alltoall_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_alltoallv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_alltoallv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length outdegree) specifying the number of elements to send to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length outdegree). Entry \\mpicode{j} specifies the displacement (relative to \\mpiarg{sendbuf}) from which to send the outgoing data to neighbor \\mpicode{j}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length indegree) specifying the number of elements that are received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length indegree). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from neighbor \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_alltoallv_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_alltoallv_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length outdegree) specifying the number of elements to send to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length outdegree). Entry \\mpicode{j} specifies the displacement (relative to \\mpiarg{sendbuf}) from which send the outgoing data to neighbor \\mpicode{j}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length indegree) specifying the number of elements that are received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length indegree). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{recvbuf}) at which to place the incoming data from neighbor \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_alltoallw": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_alltoallw", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length outdegree) specifying the number of elements to send to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length outdegree). Entry \\mpicode{j} specifies the displacement in bytes (relative to \\mpiarg{sendbuf}) from which to take the outgoing data destined for neighbor \\mpicode{j}", + "func_type": "", + "kind": "DISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of datatypes (of length outdegree). Entry \\mpicode{j} specifies the type of data to send to neighbor \\mpicode{j}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length indegree) specifying the number of elements that are received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length indegree). Entry \\mpicode{i} specifies the displacement in bytes (relative to \\mpiarg{recvbuf}) at which to place the incoming data from neighbor \\mpicode{i}", + "func_type": "", + "kind": "DISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of datatypes (of length indegree). Entry \\mpicode{i} specifies the type of data received from neighbor \\mpicode{i}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_neighbor_alltoallw_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Neighbor_alltoallw_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length outdegree) specifying the number of elements to send to each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length outdegree). Entry \\mpicode{j} specifies the displacement in bytes (relative to \\mpiarg{sendbuf}) from which to take the outgoing data destined for neighbor \\mpicode{j}", + "func_type": "", + "kind": "DISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "array of datatypes (of length outdegree). Entry \\mpicode{j} specifies the type of data to send to neighbor \\mpicode{j}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length indegree) specifying the number of elements that are received from each neighbor", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length indegree). Entry \\mpicode{i} specifies the displacement in bytes (relative to \\mpiarg{recvbuf}) at which to place the incoming data from neighbor \\mpicode{i}", + "func_type": "", + "kind": "DISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "rdispls", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "array of datatypes (of length indegree). Entry \\mpicode{i} specifies the type of data received from neighbor \\mpicode{i}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvtypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator with associated virtual topology", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_null_copy_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Copy_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_NULL_COPY_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldcomm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE2", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_out", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_null_delete_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Delete_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_NULL_DELETE_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL_10", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE2", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_op_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Op_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_OP" + }, + "mpi_op_commutative": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Op_commutative", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if \\mpiarg{op} is commutative, \\mpicode{false} otherwise", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "commute", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_op_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": false, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Op_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "user defined function", + "func_type": "MPI_User_function", + "kind": "POLYFUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "user_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if commutative; \\mpicode{false} otherwise.", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "commute", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "op", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_op_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Op_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_OP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "OPERATION" + }, + "mpi_op_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Op_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "op", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_op_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Op_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "OPERATION" + }, + "mpi_op_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Op_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_open_port": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Open_port", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "implementation-specific information on how to establish an address", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "newly established port", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "MPI_MAX_PORT_NAME", + "lis_direction": "out", + "name": "port_name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_pack": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Pack", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "input buffer start", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "inbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of input data items", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "incount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each input data item", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "output buffer start", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "outbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "output buffer size, in bytes", + "func_type": "", + "kind": "POLYNUM_BYTES_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "outsize", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "current position in buffer, in bytes", + "func_type": "", + "kind": "POLYDISPLACEMENT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "position", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator for packed message", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_pack_external": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Pack_external", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "data representation", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "datarep", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "input buffer start", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "inbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of input data items", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "incount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each input data item", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "output buffer start", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "outbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "output buffer size, in bytes", + "func_type": "", + "kind": "POLYDTYPE_PACK_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "outsize", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "current position in buffer, in bytes", + "func_type": "", + "kind": "POLYLOCATION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "position", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_pack_external_size": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Pack_external_size", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "data representation", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "datarep", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of input data items", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "incount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each input data item", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "output buffer size, in bytes", + "func_type": "", + "kind": "POLYDTYPE_PACK_SIZE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_pack_size": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Pack_size", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "count argument to packing call", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "incount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype argument to packing call", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator argument to packing call", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "upper bound on size of packed message, in bytes", + "func_type": "", + "kind": "POLYNUM_BYTES_NNI", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_parrived": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Parrived", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "partitioned communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "partition to be tested", + "func_type": "", + "kind": "PARTITION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "partition", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if operation completed on the specified partition, \\mpicode{false} if not", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_pcontrol": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Pcontrol", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "Profiling level", + "func_type": "", + "kind": "PROFILE_LEVEL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "level", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "VARARGS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "varargs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_pready": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Pready", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "partition to mark ready for transfer", + "func_type": "", + "kind": "PARTITION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "partition", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "partitioned communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_pready_list": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Pready_list", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "list length", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "length", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": "true", + "desc": "array of partitions", + "func_type": "", + "kind": "PARTITION", + "large_only": false, + "length": "length", + "lis_direction": "in", + "name": "array_of_partitions", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "partitioned communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_pready_range": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Pready_range", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "lowest partition ready for transfer", + "func_type": "", + "kind": "PARTITION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "partition_low", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "highest partition ready for transfer", + "func_type": "", + "kind": "PARTITION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "partition_high", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "partitioned communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_precv_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Precv_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of recv buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of partitions", + "func_type": "", + "kind": "PARTITION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "partitions", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received per partition", + "func_type": "", + "kind": "XFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of each element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_probe": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Probe", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_psend_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Psend_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": "true", + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of partitions", + "func_type": "", + "kind": "PARTITION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "partitions", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent per partition", + "func_type": "", + "kind": "XFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of each element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_publish_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Publish_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "a service name to associate with the port", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "service_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "implementation-specific information", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "a port name", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "port_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_put": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Put", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of origin buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_addr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in origin buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in origin buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from start of window to target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in target buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in target buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window used for communication", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_query_thread": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Query_thread", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "provided level of thread support", + "func_type": "", + "kind": "THREAD_LEVEL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "provided", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_raccumulate": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Raccumulate", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_addr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in origin buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from start of window to beginning of target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in target buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in target buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "accumulate operator", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\RMA/ request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_recv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Recv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each receive buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_recv_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Recv_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements received", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of each element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_reduce": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Reduce", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "reduce operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of the root", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_reduce_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Reduce_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "reduce operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of the root", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_reduce_local": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Reduce_local", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "input buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "inbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "combined input and output buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "inoutbuf", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in \\mpiarg{inbuf} and \\mpiarg{inoutbuf} buffers", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of \\mpiarg{inbuf} and \\mpiarg{inoutbuf} buffers", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_reduce_scatter": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Reduce_scatter", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements of the result distributed to each \\MPI/ process.", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send and receive buffers", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_reduce_scatter_block": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Reduce_scatter_block", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "element count per block", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send and receive buffers", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_reduce_scatter_block_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Reduce_scatter_block_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "element count per block", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of send and receive buffers", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_reduce_scatter_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Reduce_scatter_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array specifying the number of elements in result distributed to each \\MPI/ process. This array must be identical on all calling \\MPI/ processes.", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "recvcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of input buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_register_datarep": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": false, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Register_datarep", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "data representation identifier", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datarep", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "function invoked to convert from file representation to native representation", + "func_type": "MPI_Datarep_conversion_function", + "kind": "POLYFUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "read_conversion_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "function invoked to convert from native representation to file representation", + "func_type": "MPI_Datarep_conversion_function", + "kind": "POLYFUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "write_conversion_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "function invoked to get the extent of a datatype as represented in the file", + "func_type": "MPI_Datarep_extent_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dtype_file_extent_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "extra state", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_remove_error_class": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Remove_error_class", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "value for the error class to remove", + "func_type": "", + "kind": "ERROR_CLASS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorclass", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_remove_error_code": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Remove_error_code", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error code to be removed", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_remove_error_string": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Remove_error_string", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error code or class", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_request_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Request_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_REQUEST" + }, + "mpi_request_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Request_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_REQUEST", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "REQUEST" + }, + "mpi_request_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Request_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "request", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_request_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Request_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "REQUEST" + }, + "mpi_request_get_status": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Request_get_status", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "boolean flag, same as from \\mpifunc{MPI_TEST}", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object if flag is true", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_request_get_status_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Request_get_status_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "list length", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_requests", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "true if all of the operations are complete", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of status objects", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "array_of_statuses", + "optional": false, + "param_direction": "out", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_request_get_status_any": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Request_get_status_any", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "list length", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_requests", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of operation that completed or \\mpiconst{MPI_UNDEFINED} if none completed", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "index", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if one of the operations is complete", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object if flag is true", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_request_get_status_some": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Request_get_status_some", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of array_of_requests", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "incount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "incount", + "lis_direction": "in", + "name": "array_of_requests", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of completed requests", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "outcount", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of indices of operations that completed", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "array_of_indices", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of status objects for operations that completed", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "array_of_statuses", + "optional": false, + "param_direction": "out", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_request_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Request_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "request", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_rget": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Rget", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of origin buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "origin_addr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in origin buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in origin buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from window start to the beginning of the target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in target buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in target buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window used for communication", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\RMA/ request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_rget_accumulate": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Rget_accumulate", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_addr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in origin buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in origin buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of result buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "result_addr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in result buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "result_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of entries in result buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "result_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from start of window to beginning of target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in target buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in target buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "accumulate operator", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\RMA/ request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_rput": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Rput", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of origin buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_addr", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in origin buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in origin buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "origin_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "displacement from start of window to target buffer", + "func_type": "", + "kind": "RMA_DISPLACEMENT_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_disp", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of entries in target buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each entry in target buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "target_datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window used for communication", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\RMA/ request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_rsend": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Rsend", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each send buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_rsend_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Rsend_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of each element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_scan": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Scan", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in input buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of input buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_scan_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Scan_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "starting address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "starting address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in input buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of elements of input buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "operation", + "func_type": "", + "kind": "OPERATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "op", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_scatter": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Scatter", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of sending \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_scatter_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Scatter_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of sending \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_scatterv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Scatterv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements to send to each rank", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{sendbuf}) from which to take the outgoing data to \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of sending \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_scatterv_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Scatterv_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "nonnegative integer array (of length group size) specifying the number of elements to send to each \\MPI/ process", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "sendcounts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "integer array (of length group size). Entry \\mpicode{i} specifies the displacement (relative to \\mpiarg{sendbuf}) from which to take the outgoing data to \\MPI/ process \\mpicode{i}", + "func_type": "", + "kind": "POLYDISPLACEMENT", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "displs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "lis_paren" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of send buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": true, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": true, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of receive buffer elements", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of sending \\MPI/ process", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "root", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info argument", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communication request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_send": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Send", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each send buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_send_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Send_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of each element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_sendrecv": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Sendrecv", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of elements in send buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "send tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "recvbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of elements receive buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "receive tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_sendrecv_replace": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Sendrecv_replace", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of send and receive buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "buf", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send and receive buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of elements in send and receive buffer", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "send message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "sendtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of source or \\mpiconst{MPI_ANY_SOURCE}", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "receive message tag or \\mpiconst{MPI_ANY_TAG}", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "recvtag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_attach_buffer": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_attach_buffer", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial buffer address", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buffer", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer size, in bytes", + "func_type": "", + "kind": "POLYNUM_BYTES_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_SESSION" + }, + "mpi_session_call_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_call_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "session with error handler", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_create_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_create_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "user defined error handling procedure", + "func_type": "MPI_Session_errhandler_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session_errhandler_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "tilda" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errhandler", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_detach_buffer": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_detach_buffer", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial buffer address", + "func_type": "", + "kind": "C_BUFFER2", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buffer_addr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer size, in bytes", + "func_type": "", + "kind": "POLYNUM_BYTES", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_errhandler_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_errhandler_function", + "name_f90": "SESSION_ERRHANDLER_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "error_code", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "VARARGS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "varargs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + } + ], + "return_kind": "NOTHING" + }, + "mpi_session_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "SESSION" + }, + "mpi_session_finalize": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_finalize", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "session to be finalized", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "session", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_flush_buffer": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_flush_buffer", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "SESSION" + }, + "mpi_session_get_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_get_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "session", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error handler currently associated with session", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errhandler", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "session", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "see explanation below", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info_used", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_get_nth_pset": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_get_nth_pset", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "session", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the desired process set name", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "n", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the pset\\_name argument", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "pset_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "name of the \\mpiarg{n}th process set", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "pset_name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_get_num_psets": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_get_num_psets", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "session", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of available process sets", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "npset_names", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_get_pset_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_get_pset_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "session", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "name of process set", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pset_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object containing information about the given process set", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_iflush_buffer": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_iflush_buffer", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object to specify thread support level and \\MPI/ implementation specific resources", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error handler to invoke in the event that an error is encountered during this function call", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new session", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "session", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_set_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_set_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "session", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new error handler for session", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_session_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Session_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "session", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_sizeof": { + "attributes": { + "c_expressible": false, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Sizeof", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "a Fortran variable of numeric intrinsic type", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "x", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "f08_intent f90_parenthesis" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of machine representation of that type", + "func_type": "", + "kind": "NUM_BYTES_SMALL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ssend": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ssend", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in send buffer", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each send buffer element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_ssend_init": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Ssend_init", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of send buffer", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements sent", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of each element", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of destination", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dest", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "message tag", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "request", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_start": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Start", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "request", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_startall": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Startall", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "list length", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "count", + "lis_direction": "inout", + "name": "array_of_requests", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "c_status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "f_status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CLASS" + }, + "mpi_status_c2f08": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_c2f08", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "c_status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F08_STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "f08_status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CLASS" + }, + "mpi_status_f082c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_f082c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "", + "func_type": "", + "kind": "F08_STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "f08_status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "c_status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CLASS" + }, + "mpi_status_f082f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": true, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": true, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_f082f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "status object declared as named type", + "func_type": "", + "kind": "F08_STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "f08_status", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object declared as array", + "func_type": "", + "kind": "F90_STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "f_status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "", + "func_type": "", + "kind": "F90_STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "f_status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "c_status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CLASS" + }, + "mpi_status_f2f08": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": true, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": true, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_f2f08", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "status object declared as array", + "func_type": "", + "kind": "F90_STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "f_status", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status object declared as named type", + "func_type": "", + "kind": "F08_STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "f08_status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_get_error": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_get_error", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "status from which to retrieve error", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error set in the \\mpiconst{MPI\\_ERROR} field", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "err", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_get_source": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_get_source", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "status from which to retrieve source rank", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank set in the \\mpiconst{MPI\\_SOURCE} field", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "source", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_get_tag": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_get_tag", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "status from which to retrieve tag", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "tag set in the \\mpiconst{MPI\\_TAG} field", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "tag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_set_cancelled": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_set_cancelled", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status with which to associate cancel flag", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "status", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "if true, indicates request was cancelled", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "flag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_set_elements": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_set_elements", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status with which to associate count", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "status", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype associated with count", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements to associate with status", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_set_elements_x": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_set_elements_x", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status with which to associate count", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "status", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype associated with count", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements to associate with status", + "func_type": "", + "kind": "XFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_set_error": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_set_error", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status with which to associate error", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "status", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error to set in the \\mpiconst{MPI\\_ERROR} field", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "err", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_set_source": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_set_source", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status with which to associate source rank", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "status", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank to set in the \\mpiconst{MPI\\_SOURCE} field", + "func_type": "", + "kind": "RANK", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_status_set_tag": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Status_set_tag", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "status with which to associate tag", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "status", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "tag to set in the \\mpiconst{MPI\\_TAG} field", + "func_type": "", + "kind": "TAG", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "tag", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_category_changed": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_category_changed", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "update number", + "func_type": "", + "kind": "UPDATE_NUMBER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "update_number", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_category_get_categories": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_category_get_categories", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the category to be queried, in the range from $0$ to $\\mpiarg{num_cat}-1$", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cat_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the length of the indices array", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "len", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "an integer array of size \\mpiarg{len}, indicating category indices", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": "len", + "lis_direction": "out", + "name": "indices", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_category_get_cvars": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_category_get_cvars", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the category to be queried, in the range from $0$ to $\\mpiarg{num_cat}-1$", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cat_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the length of the indices array", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "len", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "an integer array of size \\mpiarg{len}, indicating control variable indices", + "func_type": "", + "kind": "CVAR_INDEX", + "large_only": false, + "length": "len", + "lis_direction": "out", + "name": "indices", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_category_get_events": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_category_get_events", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the category to be queried, in the range from $0$ to $\\mpiarg{num_cat}-1$", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cat_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the length of the indices array", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "len", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "an integer array of size \\mpiarg{len}, indicating event type indices", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": "len", + "lis_direction": "out", + "name": "indices", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_category_get_index": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_category_get_index", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "the name of the category", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the index of the category", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "cat_index", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_category_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_category_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the category to be queried", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cat_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing the name of the category", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{name}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "name_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing the description of the category", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "desc", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{desc}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "desc_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of control variables in the category", + "func_type": "", + "kind": "CVAR_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_cvars", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of performance variables in the category", + "func_type": "", + "kind": "PVAR_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_pvars", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of categories contained in the category", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_categories", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_category_get_num": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_category_get_num", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "current number of categories", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_cat", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_category_get_num_events": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_category_get_num_events", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the category to be queried", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cat_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of event types in the category", + "func_type": "", + "kind": "EVENT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_events", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_category_get_pvars": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_category_get_pvars", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the category to be queried, in the range from $0$ to $\\mpiarg{num_cat}-1$", + "func_type": "", + "kind": "CAT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cat_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the length of the indices array", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "len", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "an integer array of size \\mpiarg{len}, indicating performance variable indices", + "func_type": "", + "kind": "PVAR_INDEX", + "large_only": false, + "length": "len", + "lis_direction": "out", + "name": "indices", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_cvar_get_index": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_cvar_get_index", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "name of the control variable", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the control variable", + "func_type": "", + "kind": "CVAR_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "cvar_index", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_cvar_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_cvar_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the control variable to be queried, value between $0$ and $\\mpiarg{num_cvar}-1$", + "func_type": "", + "kind": "CVAR_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cvar_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing the name of the control variable", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{name}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "name_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "verbosity level of this variable", + "func_type": "", + "kind": "TOOL_VAR_VERBOSITY", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "verbosity", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpi/ datatype of the information stored in the control variable", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "datatype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "optional descriptor for enumeration information", + "func_type": "", + "kind": "TOOLS_ENUM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "enumtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing a description of the control variable", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "desc", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{desc}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "desc_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of \\mpi/ object to which this variable must be bound", + "func_type": "", + "kind": "BIND_TYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "bind", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "scope of when changes to this variable are possible", + "func_type": "", + "kind": "VARIABLE_SCOPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "scope", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_cvar_get_num": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_cvar_get_num", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "returns number of control variables", + "func_type": "", + "kind": "CVAR_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_cvar", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_cvar_handle_alloc": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_cvar_handle_alloc", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of control variable for which handle is to be allocated", + "func_type": "", + "kind": "CVAR_INDEX_SPECIAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cvar_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "reference to a handle of the \\mpi/ object to which this variable is supposed to be bound", + "func_type": "", + "kind": "TOOL_MPI_OBJ", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "obj_handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "allocated handle", + "func_type": "", + "kind": "CVAR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "handle", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements used to represent this variable", + "func_type": "", + "kind": "TOOLS_NUM_ELEM_SMALL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "count", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_cvar_handle_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_cvar_handle_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle to be freed", + "func_type": "", + "kind": "CVAR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "handle", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_cvar_read": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_cvar_read", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle to the control variable to be read", + "func_type": "", + "kind": "CVAR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of storage location for variable value", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_cvar_write": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_cvar_write", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle to the control variable to be written", + "func_type": "", + "kind": "CVAR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of storage location for variable value", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_enum_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_enum_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "enumeration to be queried", + "func_type": "", + "kind": "TOOLS_ENUM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "enumtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of discrete values represented by this enumeration", + "func_type": "", + "kind": "TOOLENUM_SIZE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing the name of the enumeration item", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{name}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "name_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_enum_get_item": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_enum_get_item", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "enumeration to be queried", + "func_type": "", + "kind": "TOOLS_ENUM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "enumtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of the value to be queried in this enumeration", + "func_type": "", + "kind": "TOOLENUM_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "variable value", + "func_type": "", + "kind": "TOOL_VAR_VALUE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "value", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing the name of the enumeration item", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{name}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "name_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_callback_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_callback_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event registration", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "callback safety level", + "func_type": "", + "kind": "CALLBACK_SAFETY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cb_safety", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info_used", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_callback_set_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_callback_set_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event registration", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "callback safety level", + "func_type": "", + "kind": "CALLBACK_SAFETY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cb_safety", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_cb_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_cb_function", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EVENT_INSTANCE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_instance", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "CALLBACK_SAFETY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cb_safety", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "user_data", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "NOTHING" + }, + "mpi_t_event_copy": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_copy", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event instance provided to the callback function", + "func_type": "", + "kind": "EVENT_INSTANCE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_instance", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "user-allocated buffer for event data", + "func_type": "", + "kind": "C_BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buffer", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_dropped_cb_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_dropped_cb_function", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DROPPED_COUNT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "SOURCE_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "CALLBACK_SAFETY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cb_safety", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "user_data", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "NOTHING" + }, + "mpi_t_event_free_cb_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_free_cb_function", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "CALLBACK_SAFETY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cb_safety", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "user_data", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "NOTHING" + }, + "mpi_t_event_get_index": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_get_index", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "name of the event type", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the event type", + "func_type": "", + "kind": "EVENT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "event_index", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the event type to be queried between $0$ and $\\mpiarg{num_events}-1$", + "func_type": "", + "kind": "EVENT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing the name of the event type", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{name}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "name_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "verbosity level of this event type", + "func_type": "", + "kind": "TOOL_VAR_VERBOSITY", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "verbosity", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of \\mpi/ basic datatypes used to encode the event data", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "num_elements", + "lis_direction": "out", + "name": "array_of_datatypes", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of byte displacements of the elements in the event buffer", + "func_type": "", + "kind": "DISPLACEMENT_NNI", + "large_only": false, + "length": "num_elements", + "lis_direction": "out", + "name": "array_of_displacements", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of \\mpiarg{array\\_of\\_datatypes} and \\mpiarg{array\\_of\\_displacements} arrays", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "num_elements", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "optional descriptor for enumeration information", + "func_type": "", + "kind": "TOOLS_ENUM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "enumtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "optional info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing a description of the event type", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "desc", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{desc}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "desc_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of \\mpi/ object to which an event of this type must be bound", + "func_type": "", + "kind": "BIND_TYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "bind", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_get_num": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_get_num", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "returns number of event types", + "func_type": "", + "kind": "EVENT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_events", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_get_source": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_get_source", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event instance provided to the callback function", + "func_type": "", + "kind": "EVENT_INSTANCE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_instance", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index identifying the source", + "func_type": "", + "kind": "SOURCE_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "source_index", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_get_timestamp": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_get_timestamp", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event instance provided to the callback function", + "func_type": "", + "kind": "EVENT_INSTANCE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_instance", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "timestamp the event was observed", + "func_type": "", + "kind": "TOOLS_TICK_COUNT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "event_timestamp", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_handle_alloc": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_handle_alloc", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of event type for which the registration handle is to be allocated", + "func_type": "", + "kind": "EVENT_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "reference to a handle of the \\mpi/ object to which this event is supposed to be bound", + "func_type": "", + "kind": "TOOL_MPI_OBJ", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "obj_handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event registration", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "event_registration", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_handle_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_handle_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event registration", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "pointer to a user-controlled buffer", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "user_data", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "pointer to user-defined callback function", + "func_type": "", + "kind": "EVENT_FREE_CB_FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "free_cb_function", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_handle_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_handle_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event registration", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info_used", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_handle_set_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_handle_set_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event registration", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_read": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_read", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event-instance handle provided to the callback function", + "func_type": "", + "kind": "EVENT_INSTANCE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_instance", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index into the array of datatypes of the item to be queried", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "element_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "pointer to a memory location to store the item data", + "func_type": "", + "kind": "C_BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buffer", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_register_callback": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_register_callback", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "event registration", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "maximum callback safety level", + "func_type": "", + "kind": "CALLBACK_SAFETY", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "cb_safety", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "pointer to a user-controlled buffer", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "user_data", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "pointer to user-defined callback function", + "func_type": "", + "kind": "EVENT_CB_FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "event_cb_function", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_event_set_dropped_handler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_event_set_dropped_handler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "valid event registration", + "func_type": "", + "kind": "EVENT_REGISTRATION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "event_registration", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "pointer to user-defined callback function", + "func_type": "", + "kind": "EVENT_DROP_CB_FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "dropped_cb_function", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_finalize": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_finalize", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_init_thread": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_init_thread", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "desired level of thread support", + "func_type": "", + "kind": "THREAD_LEVEL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "required", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "provided level of thread support", + "func_type": "", + "kind": "THREAD_LEVEL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "provided", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_get_index": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_get_index", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "the name of the performance variable", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the class of the performance variable", + "func_type": "", + "kind": "PVAR_CLASS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "var_class", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the index of the performance variable", + "func_type": "", + "kind": "PVAR_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "pvar_index", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the performance variable to be queried between $0$ and $\\mpiarg{num_pvar}-1$", + "func_type": "", + "kind": "PVAR_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pvar_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing the name of the performance variable", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{name}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "name_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "verbosity level of this variable", + "func_type": "", + "kind": "TOOL_VAR_VERBOSITY", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "verbosity", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "class of performance variable", + "func_type": "", + "kind": "PVAR_CLASS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "var_class", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpi/ datatype of the information stored in the performance variable", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "datatype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "optional descriptor for enumeration information", + "func_type": "", + "kind": "TOOLS_ENUM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "enumtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing a description of the performance variable", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "desc", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{desc}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "desc_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "type of \\mpi/ object to which this variable must be bound", + "func_type": "", + "kind": "BIND_TYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "bind", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "flag indicating whether the variable can be written/reset", + "func_type": "", + "kind": "LOGICAL_OPTIONAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "readonly", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "flag indicating whether the variable can be started and stopped or is continuously active", + "func_type": "", + "kind": "LOGICAL_OPTIONAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "continuous", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "flag indicating whether the variable can be atomically read and reset", + "func_type": "", + "kind": "LOGICAL_OPTIONAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "atomic", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_get_num": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_get_num", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "returns number of performance variables", + "func_type": "", + "kind": "PVAR_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_pvar", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_handle_alloc": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_handle_alloc", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "pe_session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of performance variable for which handle is to be allocated", + "func_type": "", + "kind": "PVAR_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pvar_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "reference to a handle of the \\mpi/ object to which this variable is supposed to be bound", + "func_type": "", + "kind": "TOOL_MPI_OBJ", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "obj_handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "allocated handle", + "func_type": "", + "kind": "PVAR", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "handle", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements used to represent this variable", + "func_type": "", + "kind": "TOOLS_NUM_ELEM_SMALL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "count", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_handle_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_handle_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "pe_session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle to be freed", + "func_type": "", + "kind": "PVAR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "handle", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_read": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_read", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pe_session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle of a performance variable", + "func_type": "", + "kind": "PVAR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of storage location for variable value", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_readreset": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_readreset", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pe_session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle of a performance variable", + "func_type": "", + "kind": "PVAR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of storage location for variable value", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "buf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_reset": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_reset", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pe_session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle of a performance variable", + "func_type": "", + "kind": "PVAR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_session_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_session_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "pe_session", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_session_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_session_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "pe_session", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_start": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_start", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pe_session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle of a performance variable", + "func_type": "", + "kind": "PVAR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_stop": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_stop", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pe_session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle of a performance variable", + "func_type": "", + "kind": "PVAR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_pvar_write": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_pvar_write", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "identifier of performance experiment session", + "func_type": "", + "kind": "PVAR_SESSION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "pe_session", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "handle of a performance variable", + "func_type": "", + "kind": "PVAR", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "handle", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "initial address of storage location for variable value", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "buf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_source_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_source_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the source to be queried between $0$ and $\\mpiarg{num_sources}-1$", + "func_type": "", + "kind": "SOURCE_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing the name of the source", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{name}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "name_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "buffer to return the string containing the description of the source", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "desc", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of the string and/or buffer for \\mpiarg{desc}", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "desc_len", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "flag indicating chronological ordering guarantees given by the source", + "func_type": "", + "kind": "SOURCE_ORDERING", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ordering", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the number of ticks per second for the timer of this source", + "func_type": "", + "kind": "TOOLS_TICK_COUNT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ticks_per_second", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the maximum count of ticks reported by this source before overflow occurs", + "func_type": "", + "kind": "TOOLS_TICK_COUNT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "max_ticks", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "optional info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_source_get_num": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_source_get_num", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "returns number of event sources", + "func_type": "", + "kind": "SOURCE_INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_sources", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_t_source_get_timestamp": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_T_source_get_timestamp", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of the source", + "func_type": "", + "kind": "SOURCE_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "source_index", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "current timestamp from specified source", + "func_type": "", + "kind": "TOOLS_TICK_COUNT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "timestamp", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_test": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Test", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "request", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if operation completed", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_test_cancelled": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Test_cancelled", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "status", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if the operation has been cancelled", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_testall": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Testall", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "list length", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "count", + "lis_direction": "inout", + "name": "array_of_requests", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if all of the operations are complete", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of status objects", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "array_of_statuses", + "optional": false, + "param_direction": "out", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_testany": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Testany", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "list length", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "count", + "lis_direction": "inout", + "name": "array_of_requests", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of operation that completed or \\mpiconst{MPI_UNDEFINED} if none completed", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "index", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{true} if one of the operations is complete", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_testsome": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Testsome", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of array_of_requests", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "incount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "incount", + "lis_direction": "inout", + "name": "array_of_requests", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of completed requests", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "outcount", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of indices of operations that completed", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "array_of_indices", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of status objects for operations that completed", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "array_of_statuses", + "optional": false, + "param_direction": "out", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_topo_test": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Topo_test", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "topology type of communicator \\mpiarg{comm}", + "func_type": "", + "kind": "TOPOLOGY_TYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_DATATYPE" + }, + "mpi_type_commit": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_commit", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype that is committed", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "datatype", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_contiguous": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_contiguous", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "replication count", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "old datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_copy_attr_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_copy_attr_function", + "name_f90": "TYPE_COPY_ATTR_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_out", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_darray": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_darray", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of process group", + "func_type": "", + "kind": "COMM_SIZE_PI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank in process group", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of array dimensions as well as process grid dimensions", + "func_type": "", + "kind": "ARRAY_LENGTH_PI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ndims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "number of elements of type \\mpiarg{oldtype} in each dimension of global array", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_PI", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "array_of_gsizes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "distribution of array in each dimension", + "func_type": "", + "kind": "DISTRIB_ENUM", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "array_of_distribs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "distribution argument in each dimension", + "func_type": "", + "kind": "DTYPE_DISTRIBUTION", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "array_of_dargs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "size of process grid in each dimension", + "func_type": "", + "kind": "PROCESS_GRID_SIZE", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "array_of_psizes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array storage order flag", + "func_type": "", + "kind": "ORDER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "order", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "old datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_f90_complex": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_f90_complex", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "precision, in decimal digits", + "func_type": "", + "kind": "MATH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "p", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "decimal exponent range", + "func_type": "", + "kind": "MATH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "r", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the requested \\MPI/ datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_f90_integer": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_f90_integer", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "decimal exponent range, i.e., number of decimal digits", + "func_type": "", + "kind": "MATH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "r", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the requested \\MPI/ datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_f90_real": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_f90_real", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "precision, in decimal digits", + "func_type": "", + "kind": "MATH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "p", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "decimal exponent range", + "func_type": "", + "kind": "MATH", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "r", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the requested \\MPI/ datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_hindexed": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_hindexed", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of blocks---also number of entries in \\mpiarg{array_of_displacements} and \\mpiarg{array_of_blocklengths}", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "number of elements in each block", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_blocklengths", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "byte displacement of each block", + "func_type": "", + "kind": "POLYDISPLACEMENT_AINT_COUNT", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_displacements", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "old datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_hindexed_block": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_hindexed_block", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of blocks---also number of entries in \\mpiarg{array_of_displacements}", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in each block", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "blocklength", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "byte displacement of each block", + "func_type": "", + "kind": "POLYDISPLACEMENT_AINT_COUNT", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_displacements", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "old datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_hvector": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_hvector", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of blocks", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in each block", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "blocklength", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of bytes between start of each block", + "func_type": "", + "kind": "POLYDTYPE_STRIDE_BYTES", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "stride", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "old datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_indexed_block": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_indexed_block", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of blocks---also number of entries in \\mpiarg{array_of_displacements}", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in each block", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "blocklength", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "array of displacements, in multiples of \\mpiarg{oldtype}", + "func_type": "", + "kind": "POLYDISPLACEMENT_COUNT", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_displacements", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "old datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_keyval": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_keyval", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "copy callback function for \\mpiarg{type_keyval}", + "func_type": "MPI_Type_copy_attr_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_copy_attr_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "delete callback function for \\mpiarg{type_keyval}", + "func_type": "MPI_Type_delete_attr_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_delete_attr_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value for future access", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "type_keyval", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "extra state for callback function", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_resized": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_resized", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "input datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new lower bound of datatype", + "func_type": "", + "kind": "POLYDISPLACEMENT_AINT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "lb", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new extent of datatype", + "func_type": "", + "kind": "POLYDISPLACEMENT_AINT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extent", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "output datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_struct": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_struct", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of blocks---also number of entries in arrays \\mpiarg{array_of_types}, \\mpiarg{array_of_displacements}, and \\mpiarg{array_of_blocklengths}", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "number of elements in each block", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_blocklengths", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "byte displacement of each block", + "func_type": "", + "kind": "POLYDISPLACEMENT_AINT_COUNT", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_displacements", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "type of elements in each block", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_types", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_create_subarray": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_create_subarray", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of array dimensions", + "func_type": "", + "kind": "ARRAY_LENGTH_PI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ndims", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "number of elements of type \\mpiarg{oldtype} in each dimension of the full array", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_PI", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "array_of_sizes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "number of elements of type \\mpiarg{oldtype} in each dimension of the subarray", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_PI", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "array_of_subsizes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "starting coordinates of the subarray in each dimension", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": "ndims", + "lis_direction": "in", + "name": "array_of_starts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array storage order flag", + "func_type": "", + "kind": "ORDER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "order", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "old datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_delete_attr": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_delete_attr", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype from which the attribute is deleted", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_delete_attr_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_delete_attr_function", + "name_f90": "TYPE_DELETE_ATTR_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_dup": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_dup", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "copy of \\mpiarg{oldtype}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_dup_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Type_copy_attr_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_TYPE_DUP_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_out", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "DATATYPE" + }, + "mpi_type_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype that is freed", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "datatype", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_free_keyval": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_free_keyval", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "type_keyval", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "DATATYPE" + }, + "mpi_type_get_attr": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_get_attr", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to which the attribute is attached", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "attribute value, unless \\mpiarg{flag}\\mpicode{ = false}", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "attribute_val", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{false} if no attribute is associated with the key", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_get_contents": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_get_contents", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to decode", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in \\mpiarg{array_of_integers}", + "func_type": "", + "kind": "POLYNUM_PARAM_VALUES", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "max_integers", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in \\mpiarg{array_of_addresses}", + "func_type": "", + "kind": "POLYNUM_PARAM_VALUES", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "max_addresses", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in \\mpiarg{array_of_large_counts}", + "func_type": "", + "kind": "POLYNUM_PARAM_VALUES", + "large_only": true, + "length": null, + "lis_direction": "in", + "name": "max_large_counts", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in \\mpiarg{array_of_datatypes}", + "func_type": "", + "kind": "POLYNUM_PARAM_VALUES", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "max_datatypes", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "contains integer arguments used in constructing \\mpiarg{datatype}", + "func_type": "", + "kind": "GENERIC_DTYPE_INT", + "large_only": false, + "length": "max_integers", + "lis_direction": "out", + "name": "array_of_integers", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "contains address arguments used in constructing \\mpiarg{datatype}", + "func_type": "", + "kind": "DISPLACEMENT", + "large_only": false, + "length": "max_addresses", + "lis_direction": "out", + "name": "array_of_addresses", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "contains large count arguments used in constructing \\mpiarg{datatype}", + "func_type": "", + "kind": "GENERIC_DTYPE_COUNT", + "large_only": true, + "length": "max_large_counts", + "lis_direction": "out", + "name": "array_of_large_counts", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "contains datatype arguments used in constructing \\mpiarg{datatype}", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": "max_datatypes", + "lis_direction": "out", + "name": "array_of_datatypes", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_get_envelope": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_get_envelope", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to decode", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of input integers used in call constructing \\mpiarg{combiner}", + "func_type": "", + "kind": "POLYNUM_PARAM_VALUES", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_integers", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of input addresses used in call constructing \\mpiarg{combiner}", + "func_type": "", + "kind": "POLYNUM_PARAM_VALUES", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_addresses", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of input large counts used in call constructing \\mpiarg{combiner}", + "func_type": "", + "kind": "POLYNUM_PARAM_VALUES", + "large_only": true, + "length": null, + "lis_direction": "out", + "name": "num_large_counts", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of input datatypes used in call constructing \\mpiarg{combiner}", + "func_type": "", + "kind": "POLYNUM_PARAM_VALUES", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "num_datatypes", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "combiner", + "func_type": "", + "kind": "COMBINER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "combiner", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_get_extent": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_get_extent", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to get information on", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "lower bound of datatype", + "func_type": "", + "kind": "POLYDISPLACEMENT_AINT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "lb", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "extent of datatype", + "func_type": "", + "kind": "POLYDISPLACEMENT_AINT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "extent", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_get_extent_x": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_get_extent_x", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to get information on", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "lower bound of datatype", + "func_type": "", + "kind": "XFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "lb", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "extent of datatype", + "func_type": "", + "kind": "XFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "extent", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_get_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_get_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype whose name is to be returned", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the name previously stored on the datatype, or an empty string if no such name exists", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "MPI_MAX_OBJECT_NAME", + "lis_direction": "out", + "name": "type_name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of returned name", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "resultlen", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_get_true_extent": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_get_true_extent", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to get information on", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "true lower bound of datatype", + "func_type": "", + "kind": "POLYDISPLACEMENT_AINT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "true_lb", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "true extent of datatype", + "func_type": "", + "kind": "POLYDISPLACEMENT_AINT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "true_extent", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_get_true_extent_x": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_get_true_extent_x", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to get information on", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "true lower bound of datatype", + "func_type": "", + "kind": "XFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "true_lb", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "true extent of datatype", + "func_type": "", + "kind": "XFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "true_extent", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_get_value_index": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_get_value_index", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of the value in pair", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "value_type", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of the index in pair", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "index_type", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of the value-index pair", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "pair_type", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_indexed": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_indexed", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of blocks---also number of entries in \\mpiarg{array_of_displacements} and \\mpiarg{array_of_blocklengths}", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "number of elements per block", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_blocklengths", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "displacement for each block, in multiples of \\mpiarg{oldtype}", + "func_type": "", + "kind": "POLYDISPLACEMENT_COUNT", + "large_only": false, + "length": "count", + "lis_direction": "in", + "name": "array_of_displacements", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "old datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_match_size": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_match_size", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "generic type specifier", + "func_type": "", + "kind": "TYPECLASS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "typeclass", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size, in bytes, of representation", + "func_type": "", + "kind": "TYPECLASS_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype with correct type, size", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "datatype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_null_copy_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Type_copy_attr_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_TYPE_NULL_COPY_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_out", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_null_delete_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Type_delete_attr_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_TYPE_NULL_DELETE_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE_SHOW_INTENT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_set_attr": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_set_attr", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to which attribute will be attached", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "attribute value", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_set_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_set_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype whose identifier is to be set", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "the character string that is remembered as the name", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "type_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_size": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_size", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to get information on", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype size", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_size_x": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_size_x", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype to get information on", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype size", + "func_type": "", + "kind": "XFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_type_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_type_vector": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Type_vector", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of blocks", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements in each block", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "blocklength", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of elements between start of each block", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "stride", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "old datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldtype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new datatype", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "newtype", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_unpack": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Unpack", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "input buffer start", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "inbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of input buffer, in bytes", + "func_type": "", + "kind": "POLYNUM_BYTES_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "insize", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "current position in bytes", + "func_type": "", + "kind": "POLYDISPLACEMENT_COUNT", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "position", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "output buffer start", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "outbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of items to be unpacked", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "outcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of each output data item", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "communicator for packed message", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_unpack_external": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Unpack_external", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "data representation", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "*", + "lis_direction": "in", + "name": "datarep", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "input buffer start", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "inbuf", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "input buffer size, in bytes", + "func_type": "", + "kind": "POLYDTYPE_PACK_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "insize", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "current position in buffer, in bytes", + "func_type": "", + "kind": "POLYLOCATION", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "position", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "output buffer start", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "outbuf", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of output data items", + "func_type": "", + "kind": "POLYDTYPE_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "outcount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "datatype of output data item", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_unpublish_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Unpublish_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "a service name", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "service_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "implementation-specific information", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "a port name", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "port_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_user_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_User_function", + "name_f90": "USER_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "C_BUFFER4", + "large_only": false, + "length": "len", + "lis_direction": "in", + "name": "invec", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "C_BUFFER4", + "large_only": false, + "length": "len", + "lis_direction": "in", + "name": "inoutvec", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "POLYXFER_NUM_ELEM", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "len", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "DATATYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "datatype", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + } + ], + "return_kind": "NOTHING" + }, + "mpi_wait": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Wait", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "request", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "request", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_waitall": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Waitall", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "list length", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "count", + "lis_direction": "inout", + "name": "array_of_requests", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of status objects", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "array_of_statuses", + "optional": false, + "param_direction": "out", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_waitany": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Waitany", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "list length", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "count", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "count", + "lis_direction": "inout", + "name": "array_of_requests", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "index of handle for operation that completed", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "index", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "status", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_waitsome": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Waitsome", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of array_of_requests", + "func_type": "", + "kind": "ARRAY_LENGTH_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "incount", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of requests", + "func_type": "", + "kind": "REQUEST", + "large_only": false, + "length": "incount", + "lis_direction": "inout", + "name": "array_of_requests", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "number of completed requests", + "func_type": "", + "kind": "ARRAY_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "outcount", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of indices of operations that completed", + "func_type": "", + "kind": "INDEX", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "array_of_indices", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "array of status objects for operations that completed", + "func_type": "", + "kind": "STATUS", + "large_only": false, + "length": "*", + "lis_direction": "out", + "name": "array_of_statuses", + "optional": false, + "param_direction": "out", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_allocate": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": "\\>INTERFACE MPI\\_WIN\\_ALLOCATE \\\\ \\>\\>SUBROUTINE MPI\\_WIN\\_ALLOCATE(SIZE, DISP\\_UNIT, INFO, COMM, BASEPTR, \\& \\\\ \\>\\>\\>\\>WIN, IERROR) \\\\ \\>\\>\\>IMPORT :: MPI\\_ADDRESS\\_KIND \\\\ \\>\\>\\>INTEGER :: DISP\\_UNIT, INFO, COMM, WIN, IERROR \\\\ \\>\\>\\>INTEGER(KIND=MPI\\_ADDRESS\\_KIND) :: SIZE, BASEPTR \\\\ \\>\\>END SUBROUTINE \\\\ \\>\\>SUBROUTINE MPI\\_WIN\\_ALLOCATE\\_CPTR(SIZE, DISP\\_UNIT, INFO, COMM, BASEPTR, \\& \\\\ \\>\\>\\>\\>WIN, IERROR) \\\\ \\>\\>\\>USE, INTRINSIC :: ISO\\_C\\_BINDING, ONLY : C\\_PTR \\\\ \\>\\>\\>IMPORT :: MPI\\_ADDRESS\\_KIND \\\\ \\>\\>\\>INTEGER :: DISP\\_UNIT, INFO, COMM, WIN, IERROR \\\\ \\>\\>\\>INTEGER(KIND=MPI\\_ADDRESS\\_KIND) :: SIZE \\\\ \\>\\>\\>TYPE(C\\_PTR) :: BASEPTR \\\\ \\>\\>END SUBROUTINE \\\\ \\>END INTERFACE", + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_allocate", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of window in bytes", + "func_type": "", + "kind": "WINDOW_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "local unit size for displacements, in bytes", + "func_type": "", + "kind": "POLYRMA_DISPLACEMENT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "disp_unit", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "initial address of window", + "func_type": "", + "kind": "C_BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "baseptr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "win", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_allocate_shared": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": "\\>INTERFACE MPI\\_WIN\\_ALLOCATE\\_SHARED \\\\ \\>\\>SUBROUTINE MPI\\_WIN\\_ALLOCATE\\_SHARED(SIZE, DISP\\_UNIT, INFO, COMM, \\& \\\\ \\>\\>\\>\\>BASEPTR, WIN, IERROR) \\\\ \\>\\>\\>IMPORT :: MPI\\_ADDRESS\\_KIND \\\\ \\>\\>\\>INTEGER :: DISP\\_UNIT, INFO, COMM, WIN, IERROR \\\\ \\>\\>\\>INTEGER(KIND=MPI\\_ADDRESS\\_KIND) :: SIZE, BASEPTR \\\\ \\>\\>END SUBROUTINE \\\\ \\>\\>SUBROUTINE MPI\\_WIN\\_ALLOCATE\\_SHARED\\_CPTR(SIZE, DISP\\_UNIT, INFO, COMM, \\& \\\\ \\>\\>\\>\\>BASEPTR, WIN, IERROR) \\\\ \\>\\>\\>USE, INTRINSIC :: ISO\\_C\\_BINDING, ONLY : C\\_PTR \\\\ \\>\\>\\>IMPORT :: MPI\\_ADDRESS\\_KIND \\\\ \\>\\>\\>INTEGER :: DISP\\_UNIT, INFO, COMM, WIN, IERROR \\\\ \\>\\>\\>INTEGER(KIND=MPI\\_ADDRESS\\_KIND) :: SIZE \\\\ \\>\\>\\>TYPE(C\\_PTR) :: BASEPTR \\\\ \\>\\>END SUBROUTINE \\\\ \\>END INTERFACE", + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_allocate_shared", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of local window in bytes", + "func_type": "", + "kind": "WINDOW_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "local unit size for displacements, in bytes", + "func_type": "", + "kind": "POLYRMA_DISPLACEMENT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "disp_unit", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address of local allocated window segment", + "func_type": "", + "kind": "C_BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "baseptr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "win", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_attach": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_attach", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of memory to be attached", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "base", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of memory to be attached in bytes", + "func_type": "", + "kind": "WIN_ATTACH_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_c2f": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_c2f", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "F90_WIN" + }, + "mpi_win_call_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_call_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window with error handler", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errorcode", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_complete": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_complete", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_copy_attr_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_copy_attr_function", + "name_f90": "WIN_COPY_ATTR_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldwin", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "attribute_val_out", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_create": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_create", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": true, + "constant": false, + "desc": "initial address of window", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "base", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of window in bytes", + "func_type": "", + "kind": "WINDOW_SIZE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "size", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "local unit size for displacements, in bytes", + "func_type": "", + "kind": "POLYRMA_DISPLACEMENT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "disp_unit", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "win", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_create_dynamic": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_create_dynamic", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "intra-communicator", + "func_type": "", + "kind": "COMMUNICATOR", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "comm", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "win", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_create_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_create_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "user defined error handling procedure", + "func_type": "MPI_Win_errhandler_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_errhandler_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errhandler", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_create_keyval": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_create_keyval", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "copy callback function for \\mpiarg{win_keyval}", + "func_type": "MPI_Win_copy_attr_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_copy_attr_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "delete callback function for \\mpiarg{win_keyval}", + "func_type": "MPI_Win_delete_attr_function", + "kind": "FUNCTION", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_delete_attr_fn", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value for future access", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "win_keyval", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "extra state for callback function", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_delete_attr": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_delete_attr", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window from which the attribute is deleted", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_delete_attr_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_delete_attr_function", + "name_f90": "WIN_DELETE_ATTR_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_detach": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_detach", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": true, + "constant": true, + "desc": "initial address of memory to be detached", + "func_type": "", + "kind": "BUFFER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "base", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "f08_intent" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_dup_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Win_copy_attr_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_WIN_DUP_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldwin", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_out", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_errhandler_function": { + "attributes": { + "c_expressible": true, + "callback": true, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_errhandler_function", + "name_f90": "WIN_ERRHANDLER_FUNCTION", + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "error_code", + "optional": false, + "param_direction": "in", + "pointer": true, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "VARARGS", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "varargs", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + } + ], + "return_kind": "NOTHING" + }, + "mpi_win_f2c": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_f2c", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "F90_WIN", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "WINDOW" + }, + "mpi_win_fence": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_fence", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ASSERT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "assert", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_flush": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_flush", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target \\MPI/ process in the group of the window \\mpiarg{win}", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_flush_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_flush_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_flush_local": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_flush_local", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target \\MPI/ process in the group of the window \\mpiarg{win}", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_flush_local_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_flush_local_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_free": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_free", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "win", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_free_keyval": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_free_keyval", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "win_keyval", + "optional": false, + "param_direction": "inout", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_fromint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_fromint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEY_INDEX", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "WINDOW" + }, + "mpi_win_get_attr": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_get_attr", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window to which the attribute is attached", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "attribute value, unless \\mpiarg{flag}\\mpicode{ = false}", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "attribute_val", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "\\mpicode{false} if no attribute is associated with the key", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_get_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_get_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "error handler currently associated with window", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "errhandler", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_get_group": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_get_group", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group of \\mpi/ processes that share access to the window", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "group", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_get_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_get_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new info object", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "info_used", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_get_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_get_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window whose name is to be returned", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "the name previously stored on the window, or an empty string if no such name exists", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": "MPI_MAX_OBJECT_NAME", + "lis_direction": "out", + "name": "win_name", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "length of returned name", + "func_type": "", + "kind": "STRING_LENGTH", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "resultlen", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_lock": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_lock", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "either \\mpiconst{MPI_LOCK_EXCLUSIVE} or \\mpiconst{MPI_LOCK_SHARED}", + "func_type": "", + "kind": "LOCK_TYPE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "lock_type", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target \\MPI/ process in the group of the window \\mpiarg{win}", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ASSERT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "assert", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_lock_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_lock_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ASSERT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "assert", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_null_copy_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Win_copy_attr_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_WIN_NULL_COPY_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "oldwin", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_in", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val_out", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_null_delete_fn": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": "MPI_Win_delete_attr_function", + "proxy_render": false, + "render_main": true + }, + "name": "MPI_WIN_NULL_DELETE_FN", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "EXTRA_STATE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "extra_state", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "ierror", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "c_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_post": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_post", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group of origin processes", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ASSERT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "assert", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_set_attr": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_set_attr", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window to which attribute will be attached", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "key value", + "func_type": "", + "kind": "KEYVAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_keyval", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "attribute value", + "func_type": "", + "kind": "ATTRIBUTE_VAL", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "attribute_val", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_set_errhandler": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_set_errhandler", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "new error handler for window", + "func_type": "", + "kind": "ERRHANDLER", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "errhandler", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_set_info": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_set_info", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "INFO", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "info", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_set_name": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_set_name", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "window whose identifier is to be set", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "inout", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": true, + "desc": "the character string that is remembered as the name", + "func_type": "", + "kind": "STRING", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win_name", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_shared_query": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": "\\>INTERFACE MPI\\_WIN\\_SHARED\\_QUERY \\\\ \\>\\>SUBROUTINE MPI\\_WIN\\_SHARED\\_QUERY(WIN, RANK, SIZE, DISP\\_UNIT, \\&\\\\ \\>\\>\\>\\>BASEPTR, IERROR) \\\\ \\>\\>\\>IMPORT :: MPI\\_ADDRESS\\_KIND \\\\ \\>\\>\\>INTEGER :: WIN, RANK, DISP\\_UNIT, IERROR \\\\ \\>\\>\\>INTEGER(KIND=MPI\\_ADDRESS\\_KIND) :: SIZE, BASEPTR \\\\ \\>\\>END SUBROUTINE \\\\ \\>\\>SUBROUTINE MPI\\_WIN\\_SHARED\\_QUERY\\_CPTR(WIN, RANK, SIZE, DISP\\_UNIT, \\&\\\\ \\>\\>\\>\\>BASEPTR, IERROR) \\\\ \\>\\>\\>USE, INTRINSIC :: ISO\\_C\\_BINDING, ONLY : C\\_PTR \\\\ \\>\\>\\>IMPORT :: MPI\\_ADDRESS\\_KIND \\\\ \\>\\>\\>INTEGER :: WIN, RANK, DISP\\_UNIT, IERROR \\\\ \\>\\>\\>INTEGER(KIND=MPI\\_ADDRESS\\_KIND) :: SIZE \\\\ \\>\\>\\>TYPE(C\\_PTR) :: BASEPTR \\\\ \\>\\>END SUBROUTINE \\\\ \\>END INTERFACE", + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_shared_query", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "shared memory window", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank in the group of window win or \\mpiconst{MPI_PROC_NULL}", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "size of the window segment", + "func_type": "", + "kind": "WINDOW_SIZE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "size", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "local unit size for displacements, in bytes", + "func_type": "", + "kind": "POLYRMA_DISPLACEMENT", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "disp_unit", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "address for load/store access to window segment", + "func_type": "", + "kind": "C_BUFFER", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "baseptr", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_start": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_start", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "group of target processes", + "func_type": "", + "kind": "GROUP", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "group", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ASSERT", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "assert", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_sync": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_sync", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_test": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_test", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "success flag", + "func_type": "", + "kind": "LOGICAL", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "flag", + "optional": false, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_toint": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": false, + "f90_expressible": false, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": true, + "lis_expressible": false, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_toint", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": false, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "KEY_INDEX" + }, + "mpi_win_unlock": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_unlock", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "rank of target \\MPI/ process in the group of the window \\mpiarg{win}", + "func_type": "", + "kind": "RANK_NNI", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "rank", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_unlock_all": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_unlock_all", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_win_wait": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Win_wait", + "name_f90": null, + "parameters": [ + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "WINDOW", + "large_only": false, + "length": null, + "lis_direction": "in", + "name": "win", + "optional": false, + "param_direction": "in", + "pointer": null, + "root_only": false, + "suppress": "" + }, + { + "array_type": "", + "asynchronous": false, + "constant": false, + "desc": "", + "func_type": "", + "kind": "ERROR_CODE", + "large_only": false, + "length": null, + "lis_direction": "out", + "name": "ierror", + "optional": true, + "param_direction": "out", + "pointer": null, + "root_only": false, + "suppress": "c_parameter lis_parameter" + } + ], + "return_kind": "ERROR_CODE" + }, + "mpi_wtick": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Wtick", + "name_f90": null, + "parameters": [], + "return_kind": "TICK_RESOLUTION" + }, + "mpi_wtime": { + "attributes": { + "c_expressible": true, + "callback": false, + "capitalized": false, + "deprecated": false, + "execute_once": false, + "f08_abstract_interface": true, + "f08_expressible": true, + "f90_expressible": true, + "f90_index_overload": null, + "f90_use_colons": false, + "index_upper": false, + "lis_expressible": true, + "not_with_mpif": false, + "predefined_function": null, + "proxy_render": false, + "render_main": true + }, + "name": "MPI_Wtime", + "name_f90": null, + "parameters": [], + "return_kind": "WALL_TIME" + } +} \ No newline at end of file diff --git a/docs/mpi-standard-abi.json b/docs/mpi-standard-abi.json new file mode 120000 index 00000000000..776929366e6 --- /dev/null +++ b/docs/mpi-standard-abi.json @@ -0,0 +1 @@ +mpi-standard-5.0-abi.json \ No newline at end of file diff --git a/docs/mpi-standard-apis.json b/docs/mpi-standard-apis.json index 795396cb200..d3c4a4c64eb 120000 --- a/docs/mpi-standard-apis.json +++ b/docs/mpi-standard-apis.json @@ -1 +1 @@ -mpi-standard-4.1-apis.json \ No newline at end of file +mpi-standard-5.0-apis.json \ No newline at end of file diff --git a/ompi/include/mpi.h.in b/ompi/include/mpi.h.in index f9ded080d7c..7936d3072a7 100644 --- a/ompi/include/mpi.h.in +++ b/ompi/include/mpi.h.in @@ -1419,21 +1419,21 @@ OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub; #define MPI_TYPECLASS_REAL 2 #define MPI_TYPECLASS_COMPLEX 3 +/* + * Predefined info keys + */ +#define MPI_INFO_KEY_SESSION_PSET_SIZE "mpi_size" + +#ifndef OMPI_NO_MPI_PROTOTYPES /* Aint helper macros (MPI-3.1) */ #define MPI_Aint_add(base, disp) ((MPI_Aint) ((char *) (base) + (disp))) #define MPI_Aint_diff(addr1, addr2) ((MPI_Aint) ((char *) (addr1) - (char *) (addr2))) #define PMPI_Aint_add(base, disp) MPI_Aint_add(base, disp) #define PMPI_Aint_diff(addr1, addr2) MPI_Aint_diff(addr1, addr2) -/* - * Predefined info keys - */ -#define MPI_INFO_KEY_SESSION_PSET_SIZE "mpi_size" - /* * MPI API */ -#ifndef OMPI_NO_MPI_PROTOTYPES OMPI_DECLSPEC int MPI_Abi_supported(int *flag); OMPI_DECLSPEC int MPI_Abi_version(int *abi_major, int *abi_minor); OMPI_DECLSPEC int MPI_Abi_details(int *buflen, char *details, MPI_Info *info); diff --git a/ompi/mpi/Makefile.am b/ompi/mpi/Makefile.am index 80ae278fde2..87d20ff2d87 100644 --- a/ompi/mpi/Makefile.am +++ b/ompi/mpi/Makefile.am @@ -24,6 +24,7 @@ EXTRA_DIST += \ mpi/fortran/configure-fortran-output-bottom.h \ mpi/help-mpi-api.txt \ mpi/bindings/bindings.py \ + mpi/bindings/c_header.py \ mpi/bindings/ompi_bindings/consts.py \ mpi/bindings/ompi_bindings/c.py \ mpi/bindings/ompi_bindings/c_type.py \ diff --git a/ompi/mpi/bindings/c_header.py b/ompi/mpi/bindings/c_header.py new file mode 100644 index 00000000000..78f3a01ae24 --- /dev/null +++ b/ompi/mpi/bindings/c_header.py @@ -0,0 +1,246 @@ +# Copyright (c) 2025 Joe Downs. All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +import argparse +import re +import json +import sys +import os +from pathlib import Path + +# ============================= Constants / Globals ============================ +DIR = Path(".") +OUTPUT = DIR / "mpi.h" +INPUT = DIR / "abi.h.in" +JSON_PATH = DIR / "abi.json" + +ABI_INTERNAL = "_ABI_INTERNAL" + +categories_dict = {} +MANGLE_NAMES = False + +INTERNAL_DATATYPES = [ + "MPI_Comm", + "MPI_Datatype", + "MPI_Errhandler", + "MPI_File", + "MPI_Group", + "MPI_Info", + "MPI_Message", + "MPI_Op", + "MPI_Request", + "MPI_Session", + "MPI_Status", + "MPI_Win", + "MPI_Comm_copy_attr_function", + "MPI_Comm_delete_attr_function", + "MPI_Type_copy_attr_function", + "MPI_Type_delete_attr_function", + "MPI_Win_delete_attr_function", + "MPI_Win_copy_attr_function", + # TODO: these two are deprecated, get rid of them + "MPI_Copy_function", + "MPI_Delete_function", +] + +ENUM_CATEGORIES = [ + "ERROR_CLASSES", + "MODE_CONSTANTS", + "ASSORTED_CONSTANTS", + "THREADS_CONSTANTS", + "FILE_OPERATIONS_CONSTANTS", + "DATATYPE_DECODING_CONSTANTS", + "F90_DATATYPE_MATCHING_CONSTANTS", + "COMMUNICATOR_GROUP_COMP_RESULTS", + "TOPOLOGIES", + "COMMUNICATOR_SPLIT_TYPE", + "WINDOW_LOCK_TYPE_CONSTANTS", + "WINDOW_CREATE_FLAVORS", + "WINDOW_MODELS", + "FILE_POS_CONSTANTS", + "FILE_OP_CONSTANTS", + "ENV_INQ_AND_ATTR_KEYS", + "FORTRAN_STATUS_ARRAY_SIZE_AND_INDEX_C", + "C_PREPROCESSOR_CONSTANTS_FORTRAN_PARAMETERS", + "TOOL_INFO_IFACE_VERBOSITY_LEVELS", + "TOOL_INFO_IFACE_VAR_ASSOCIATIONS", + "TOOL_INFO_IFACE_VAR_SCOPES", + "TOOL_INFO_IFACE_PVAR_CLASSES", + "TOOL_INFO_IFACE_SOURCE_ORDERINGS", + "TOOL_INFO_IFACE_CB_SAFETY_REQ_LEVELS", +] + + +# ============================== Argument Parsing ============================== +parser = argparse.ArgumentParser() +parser.add_argument("--abi-json", type=str, help=f"path to ABI JSON file [{DIR}/]") +parser.add_argument("-i", "--input", type=str, help="input path for the .h.in file") +parser.add_argument("-o", "--output", type=str, help="output path for the header file") +parser.add_argument("--mangle-names", help="enable name mangling for constants and datatypes", action="store_true") +parser.add_argument("--no-mangle", help="disable name mangling (default)", action="store_true") +parser.add_argument("--pympistd-dir", type=str, help="directory for the pympistandard library") + +args = parser.parse_args() + +if args.abi_json: + JSON_PATH = Path(args.abi_json) +if args.mangle_names: + MANGLE_NAMES = True +if args.no_mangle: + MANGLE_NAMES = False +if args.output: + OUTPUT = Path(args.output) +if args.input: + INPUT = Path(args.input) +if args.pympistd_dir: + PYMPISTANDARD_DIR = Path(args.pympistd_dir) + +# A bit of a hack to load the pympistandard module, which is in +# the Open MPI '3rd-party" tree in the source dir. +pympi_dir = PYMPISTANDARD_DIR / "src" +sys.path.insert(0, str(pympi_dir.resolve())) + +import pympistandard as std + +# ================================== Load JSON ================================= +with open(JSON_PATH) as f: + abi = json.load(f) + +CONSTS = abi["constants"] +CATEGORIES = abi["categories"] + +# ============================================================================== + +# Populating the `categories` dictionary +for category in CATEGORIES.values(): + name = category["name"] + categories_dict[name] = [] + for value in CONSTS.values(): + if value["category"] == name: + categories_dict[name].append(value) + +# ================================== Functions ================================= +# TODO: we need to add/fix/figure out the pympistandard's way for properly +# defining callback functions. pympistandard just prints out the regular +# prototype instead of `(function_name)(arguments)` +def cb_declaration(proc_expression): + func_str = str(proc_expression) + func_str_list = func_str.split() + func_name, arg_1 = func_str_list[2].split("(") + if MANGLE_NAMES: + func_name = f"{func_name}{ABI_INTERNAL}" + decl_string = f"{' '.join(func_str_list[:2])} ({func_name})({arg_1} {' '.join(func_str_list[3:])};\n" + return decl_string + +def output_constant(const, use_enum: bool, mangle_name: bool): + spacing = 45 + name = const["name"] + abi_value = const["abi_value"] + c_type = const["handle_types"]["c"]["type"] + if c_type is None: + return None + if mangle_name: + name = f"{name}{ABI_INTERNAL}" + spacing = 55 + #c_type = f"{c_type}{ABI_INTERNAL}" + def_name = f"#define {name}" + if use_enum: + def_name = f" {name}" + value = f"= {abi_value}," + elif c_type == "int": + value = f"{abi_value}" + else: + value = f"(({c_type}) {abi_value})" + return def_name + " " * (spacing - len(def_name) + 1) + value + "\n" + +# ========================= Manipulate Template Header ========================= +lines = [] +with open(INPUT, 'r') as header_in: + lines = header_in.readlines() + +# Match lines that start with `$CATEGORY:`. Any amount of whitespace is allowed +# in the case of indenting. However, only preceding whitespace is allowed so +# that commented-out lines are NOT included. +category_pattern = re.compile(r"^[\s]*\$CATEGORY:([A-Z_0-9]+)\$$") +output = [] + +for line in lines: + category = category_pattern.search(line) + # If there's no match, category is None. Then we just want to preserve the + # line as-is. + if category: + category = category.group(1) + use_enum = False + # Only some values should be in `enums`, otherwise just use `#define`s + if category in ENUM_CATEGORIES: + use_enum = True + if use_enum: + output.append("enum {\n") + # Print out each `#define` / assignment for the constants + for constant in categories_dict[category]: + line = output_constant(constant, use_enum, MANGLE_NAMES) + if line is not None: + output.append(line) + if use_enum: + output.append("};\n") + else: + output.append(line) + +# ============================= Function Prototypes ============================ +std.use_api_version() + +output.append("\n") +output.append("/* Callback functions */\n") +for proc in std.CALLBACKS.values(): + output.append(cb_declaration(proc.express.iso_c)) + if proc.has_embiggenment(): + output.append(cb_declaration(proc.express.embiggen.iso_c)) + +output.append("\n") +output.append("/* MPI API */\n") +for proc in std.all_iso_c_procedures(): + output.append(f"{proc.express.iso_c};\n") + if proc.has_embiggenment(): + output.append(f"{proc.express.embiggen.iso_c};\n") + +output.append("\n") +output.append("/* Profiling MPI API */\n") +for proc in std.all_iso_c_procedures(): + output.append(f"{proc.express.profile.iso_c};\n") + # TODO: this is a hack and we need to add/fix/figure out the pympistandard + # module to natively print out an embiggened version + if proc.has_embiggenment(): + binding = proc.express.embiggen.iso_c.__str__().split() + output.append(f"{binding[0]} P{' '.join(binding[1:])};\n") + +# ================================ Final Output ================================ +output.append("#endif /* _ABI_INTERNAL_ */") + +for i, line in enumerate(output): + line = line.replace(r"\ldots", "...") + if MANGLE_NAMES: + # Replace datatypes with their internal ABI counterparts + for datatype in INTERNAL_DATATYPES: + # Need to include the extra space here or else we'll edit functions + # like "MPI_Group_difference" + datatype_pattern = r"([\( ]?)(" + datatype + r")([; \*\)]{1})" + line = re.sub(datatype_pattern, f"\\g<1>\\g<2>{ABI_INTERNAL}\\g<3>", line) + if "MPI_Fint" in line: + # Comment out a line if it has references to MPI_Fint, we don't need + # that for the ABI + line = f"/* {line} */" + # TODO: pympistandard creates `MPI_Info_create_env` with its `argv` + # parameter being of type `char *` instead of `char **` --- as defined in + # the standard. + if "MPI_Info_create_env" in line: + line = line.replace("char argv[]", "char *argv[]") + output[i] = line + +with open(OUTPUT, 'tw') as header_out: + header_out.writelines(output) diff --git a/ompi/mpi/bindings/ompi_bindings/consts.py b/ompi/mpi/bindings/ompi_bindings/consts.py index 4e9f568f1d9..1a9eec911f6 100644 --- a/ompi/mpi/bindings/ompi_bindings/consts.py +++ b/ompi/mpi/bindings/ompi_bindings/consts.py @@ -8,7 +8,6 @@ # $HEADER$ # """Constants used for generating bindings.""" -import re FORTRAN_ERROR_NAME = 'ierror' C_ERROR_NAME = 'ierr' diff --git a/ompi/mpi/c/Makefile.am b/ompi/mpi/c/Makefile.am index 7d396f098c5..d8b44d44c0d 100644 --- a/ompi/mpi/c/Makefile.am +++ b/ompi/mpi/c/Makefile.am @@ -558,26 +558,25 @@ if OMPI_GENERATE_BINDINGS source \ ompi \ $< -abi.h: $(prototype_sources) - $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ - --builddir $(abs_top_builddir) \ - --srcdir $(abs_top_srcdir) \ - --output $@ \ - c \ - header \ - --srcdir $(srcdir) \ - $(prototype_sources) -standard_abi/mpi.h: $(prototype_sources) + +# Non-mangled version +standard_abi/mpi.h: $(top_srcdir)/docs/mpi-standard-apis.json $(top_srcdir)/ompi/mpi/bindings/c_header.py mkdir -p standard_abi - $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ - --builddir $(abs_top_builddir) \ - --srcdir $(abs_top_srcdir) \ - --output $@ \ - c \ - header \ - --srcdir $(srcdir) \ - --external \ - $(prototype_sources) + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/c_header.py \ + --input $(top_srcdir)/ompi/mpi/c/abi.h.in \ + --abi-json $(top_srcdir)/docs/mpi-standard-abi.json \ + --pympistd $(top_srcdir)/3rd-party/pympistandard \ + --output $(top_srcdir)/ompi/mpi/c/standard_abi/mpi.h + +# Mangled version +abi.h: $(top_srcdir)/docs/mpi-standard-apis.json $(top_srcdir)/ompi/mpi/bindings/c_header.py + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/c_header.py \ + --input $(top_srcdir)/ompi/mpi/c/abi.h.in \ + --output $(top_srcdir)/ompi/mpi/c/abi.h \ + --abi-json $(top_srcdir)/docs/mpi-standard-abi.json \ + --pympistd-dir $(top_srcdir)/3rd-party/pympistandard \ + --mangle-names + %_abi_generated.c: %.c.in $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ --builddir $(abs_top_builddir) \ @@ -589,7 +588,7 @@ standard_abi/mpi.h: $(prototype_sources) $< endif -MAINTAINERCLEANFILES = *_generated.c abi.h +MAINTAINERCLEANFILES = *_generated.c $(nobase_include_HEADERS) if OMPI_STANDARD_ABI include Makefile_abi.include endif diff --git a/ompi/mpi/c/abi.h.in b/ompi/mpi/c/abi.h.in new file mode 100644 index 00000000000..c4040502a89 --- /dev/null +++ b/ompi/mpi/c/abi.h.in @@ -0,0 +1,213 @@ +/* + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef _ABI_INTERNAL_ +#define _ABI_INTERNAL_ + +/* TODO: figure out which includes we need, change to <> instead of "" */ +#include "stddef.h" +#include "stdint.h" + +/* #include */ + +#define MPI_VERSION 5 +#define MPI_SUBVERSION 0 + +#define MPI_ABI_VERSION 1 +#define MPI_ABI_SUBVERSION 0 + +/* TODO: add comment why this is hardcoded to avoid extra generation logic */ +typedef struct MPI_ABI_Comm * MPI_Comm; +typedef struct MPI_ABI_Datatype * MPI_Datatype; +typedef struct MPI_ABI_Errhandler * MPI_Errhandler; +typedef struct MPI_ABI_File * MPI_File; +typedef struct MPI_ABI_Group * MPI_Group; +typedef struct MPI_ABI_Info * MPI_Info; +typedef struct MPI_ABI_Message * MPI_Message; +typedef struct MPI_ABI_Op * MPI_Op; +typedef struct MPI_ABI_Request * MPI_Request; +typedef struct MPI_ABI_Session * MPI_Session; +typedef struct MPI_ABI_Win * MPI_Win; + +/* /\* MPI_Aint is defined to be intptr_t (or equivalent to it, if compiler support is absent). */ +/* * The only acceptable alternative to intptr_t is the C89 type equivalent to it. *\/ */ +/* #if !defined(MPI_ABI_Aint) */ +/* #define MPI_ABI_Aint intptr_t */ +/* #endif */ +/* typedef MPI_ABI_Aint MPI_Aint; */ +/* #undef MPI_ABI_Aint */ + +/* /\* MPI_Offset will be 64b on all relevant systems. */ +/* * We allow for MPI implementations supporting for 128b filesystems. *\/ */ +/* #if !defined(MPI_ABI_Offset) */ +/* #define MPI_ABI_Offset int64_t */ +/* #endif */ +/* typedef MPI_ABI_Offset MPI_Offset; */ +/* #undef MPI_ABI_Offset */ + +/* /\* MPI_Count must be large enough to hold the larger of MPI_Aint and MPI_Offset. */ +/* * Platforms where MPI_Aint is larger than MPI_Offset are extremely rare. *\/ */ +/* #if !defined(MPI_ABI_Count) */ +/* #define MPI_ABI_Count MPI_Offset */ +/* #endif */ +/* typedef MPI_ABI_Count MPI_Count; */ +/* #undef MPI_ABI_Count */ + +typedef struct { + int MPI_SOURCE; + int MPI_TAG; + int MPI_ERROR; + int MPI_internal[5]; +} MPI_Status; + +/*****************************************************************************/ +/* The following categories and values are taken, in order, from Section A.1 */ +/* ("Defined Values and Handles") of the MPI Standard, v5.0. Each category */ +/* (header comment followed by block of assignments) corresponds to a table */ +/* within Section A.1. */ +/*****************************************************************************/ + +/* Error classes */ +$CATEGORY:ERROR_CLASSES$ + +/* Buffer address constants */ +$CATEGORY:BUFFER_ADDR_CONSTANTS$ + +/* Constants specifying empty or ignored input */ +$CATEGORY:EMPTY_IGNORE_INPUT_CONSTANTS$ + +/* Maximum sizes for strings */ +$CATEGORY:MAX_STR_SIZE_CONSTANTS$ + +/* Mode constants */ +$CATEGORY:MODE_CONSTANTS$ + +/* Assorted constants */ +$CATEGORY:ASSORTED_CONSTANTS$ + +/* Threads constants */ +$CATEGORY:THREADS_CONSTANTS$ + +/* File operations constants */ +$CATEGORY:FILE_OPERATIONS_CONSTANTS$ + +/* Datatype decoding constants */ +$CATEGORY:DATATYPE_DECODING_CONSTANTS$ + +/* F90 datatype matching constants */ +$CATEGORY:F90_DATATYPE_MATCHING_CONSTANTS$ + +/* Results of communicator and group comparisons */ +$CATEGORY:COMMUNICATOR_GROUP_COMP_RESULTS$ + +/* Topologies */ +$CATEGORY:TOPOLOGIES$ + +/* Communicator split type constants */ +$CATEGORY:COMMUNICATOR_SPLIT_TYPE$ + +/* Window lock type constants */ +$CATEGORY:WINDOW_LOCK_TYPE_CONSTANTS$ + +/* MPI window create flavors */ +$CATEGORY:WINDOW_CREATE_FLAVORS$ + +/* MPI window models */ +$CATEGORY:WINDOW_MODELS$ + +/* File positioning constants */ +$CATEGORY:FILE_POS_CONSTANTS$ + +/* File operation constants */ +$CATEGORY:FILE_OP_CONSTANTS$ + +/* Environmental inquiry and predefined attribute keys */ +$CATEGORY:ENV_INQ_AND_ATTR_KEYS$ + +/* Fortran support method specific constants */ +/* $CATEGORY:FORTRAN_SUPPORT_METHOD_CONSTANTS$ */ + +/* Status array size and reserved index values (Fortran only) */ +/* $CATEGORY:STATUS_ARRAY_SIZE_AND_INDEX_FORTRAN$ */ + +/* Fortran status array size and reserved index values (C only) */ +$CATEGORY:FORTRAN_STATUS_ARRAY_SIZE_AND_INDEX_C$ + +/* Variable address size (Fortran only) */ +/* $CATEGORY:VARIABLE_ADDR_SIZE_FORTRAN$ */ + +/* Reserved communicators */ +$CATEGORY:RESERVED_COMMUNICATORS$ + +/* Named predefined datatypes */ +$CATEGORY:PREDEFINED_DATATYPES$ + +/* Optional datatypes (Fortran) */ +$CATEGORY:OPT_DATATYPES_FORTRAN$ + +/* Datatypes for reduction functions (C) */ +$CATEGORY:REDUCTION_FUNC_DATATYPES_C$ + +/* Datatypes for reduction functions (Fortran) */ +$CATEGORY:REDUCTION_FUNC_DATATYPES_FORTRAN$ + +/* Predefined message handles */ +$CATEGORY:MSG_HANDLES$ + +/* Predefined error-handling specifiers */ +$CATEGORY:ERROR_SPECIFIERS$ + +/* Environmental inquiry info key */ +$CATEGORY:ENV_INQ_INFO_KEY$ + +/* Collective operators */ +$CATEGORY:COLLECTIVE_OPS$ + +/* Predefined group handles */ +$CATEGORY:GROUP_HANDLES$ + +/* Other predefined handles */ +$CATEGORY:OTHER_HANDLES$ + +/* Predefined functions */ +$CATEGORY:FUNCTIONS$ + +/* Deprecated predefined functions */ +$CATEGORY:DEPRECATED_FUNCS$ + +/* C preprocessor constants and Fortran parameters */ +/* $CATEGORY:C_PREPROCESSOR_CONSTANTS_FORTRAN_PARAMETERS$ */ + +/* Handles used in the MPI tool information interface */ +$CATEGORY:TOOL_INFO_IFACE_HANDLES$ + +/* Verbosity levels in the MPI tool information interface */ +$CATEGORY:TOOL_INFO_IFACE_VERBOSITY_LEVELS$ + +/* + * Constants to identify associations of variables in the MPI tool information + * interface + */ +$CATEGORY:TOOL_INFO_IFACE_VAR_ASSOCIATIONS$ + +/* + * Constants describing the scope of a control variable in the MPI tool + * information interface + */ +$CATEGORY:TOOL_INFO_IFACE_VAR_SCOPES$ + +/* Performance variable classes used by the MPI tool information interface */ +$CATEGORY:TOOL_INFO_IFACE_PVAR_CLASSES$ + +/* Source event ordering guarantees in the MPI tool information interface */ +$CATEGORY:TOOL_INFO_IFACE_SOURCE_ORDERINGS$ + +/* + * Callback safety requirement levels used in the MPI tool information interface + */ +$CATEGORY:TOOL_INFO_IFACE_CB_SAFETY_REQ_LEVELS$ diff --git a/ompi/mpi/c/abi_converters.h b/ompi/mpi/c/abi_converters.h index d274dd1a8f6..71e51cb4697 100644 --- a/ompi/mpi/c/abi_converters.h +++ b/ompi/mpi/c/abi_converters.h @@ -547,16 +547,16 @@ __opal_attribute_always_inline__ static inline void ompi_convert_abi_status_inte void *ptr = &out->_ucount; out->MPI_SOURCE = inp->MPI_SOURCE; out->MPI_TAG = inp->MPI_TAG; - out->_cancelled = inp->MPI_Internal[0]; - memcpy(ptr, &inp->MPI_Internal[1],sizeof(out->_ucount)); + out->_cancelled = inp->MPI_internal[0]; + memcpy(ptr, &inp->MPI_internal[1],sizeof(out->_ucount)); out->MPI_ERROR = ompi_convert_abi_error_intern_error(inp->MPI_ERROR); } __opal_attribute_always_inline__ static inline void ompi_convert_intern_status_abi_status(MPI_Status_ABI_INTERNAL *out, MPI_Status *inp) { - void *ptr = &out->MPI_Internal[1]; + void *ptr = &out->MPI_internal[1]; out->MPI_SOURCE = inp->MPI_SOURCE; out->MPI_TAG = inp->MPI_TAG; - out->MPI_Internal[0] =inp->_cancelled; + out->MPI_internal[0] =inp->_cancelled; memcpy(ptr, &inp->_ucount,sizeof(inp->_ucount)); } From b8819d407d18afb58db9f29d57b6e23a37dadcbb Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Thu, 21 Aug 2025 11:42:38 -0600 Subject: [PATCH 12/14] distcheck fix and more Signed-off-by: Howard Pritchard --- ompi/mpi/bindings/c_header.py | 2 + ompi/mpi/c/Makefile.am | 9 ++- ompi/mpi/c/Makefile_abi.include | 17 ++++-- ompi/mpi/c/abi.h.in | 51 ++++++++-------- ompi/mpi/c/abi_details.c | 36 ----------- ompi/mpi/c/abi_get_info.c.in | 61 +++++++++++++++++++ .../c/{abi_version.c => abi_get_version.c} | 4 +- ompi/mpi/c/attr_fn.c | 7 +++ 8 files changed, 115 insertions(+), 72 deletions(-) delete mode 100644 ompi/mpi/c/abi_details.c create mode 100644 ompi/mpi/c/abi_get_info.c.in rename ompi/mpi/c/{abi_version.c => abi_get_version.c} (78%) diff --git a/ompi/mpi/bindings/c_header.py b/ompi/mpi/bindings/c_header.py index 78f3a01ae24..eb38eb699ec 100644 --- a/ompi/mpi/bindings/c_header.py +++ b/ompi/mpi/bindings/c_header.py @@ -221,6 +221,8 @@ def output_constant(const, use_enum: bool, mangle_name: bool): # ================================ Final Output ================================ output.append("#endif /* _ABI_INTERNAL_ */") +# === some compilers are finicky about not having empy line at end of include file ===== +output.append("\n") for i, line in enumerate(output): line = line.replace(r"\ldots", "...") diff --git a/ompi/mpi/c/Makefile.am b/ompi/mpi/c/Makefile.am index d8b44d44c0d..3e775a0eb80 100644 --- a/ompi/mpi/c/Makefile.am +++ b/ompi/mpi/c/Makefile.am @@ -477,18 +477,17 @@ prototype_sources = \ win_wait.c.in \ wtime.c.in -EXTRA_DIST = $(prototype_sources) +EXTRA_DIST = $(prototype_sources) \ + abi_converters.h \ + abi_get_info.c.in # attr_fn.c contains attribute manipulation functions which do not # profiling implications, and so are always built. libmpi_c_la_SOURCES = \ attr_fn.c -# The MPI_Abi_* functions do not require profiling implementations. +# functions that do not require profiling implementations. libmpi_c_la_SOURCES += \ - abi_details.c \ - abi_supported.c \ - abi_version.c \ ompi_isendrecv.c \ ompi_sendrecv.c diff --git a/ompi/mpi/c/Makefile_abi.include b/ompi/mpi/c/Makefile_abi.include index c082b84e1c0..08faac98793 100644 --- a/ompi/mpi/c/Makefile_abi.include +++ b/ompi/mpi/c/Makefile_abi.include @@ -40,11 +40,20 @@ BUILT_SOURCES = abi.h standard_abi/mpi.h libmpi_c_abi_la_SOURCES = \ attr_fn.c \ - abi_details.c \ - abi_supported.c \ - abi_version.c + abi_get_info.c \ + abi_get_version.c -libmpi_c_abi_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES +abi_get_info.c: abi_get_info.c.in + $(OMPI_V_GEN) $(PYTHON) $(top_srcdir)/ompi/mpi/bindings/bindings.py \ + --builddir $(abs_top_builddir) \ + --srcdir $(abs_top_srcdir) \ + --output $@ \ + c \ + source \ + standard \ + $< + +libmpi_c_abi_la_CPPFLAGS = -DOMPI_NO_MPI_PROTOTYPES -DOMPI_BUILD_MPI_PROFILING=0 -DOMPI_BUILD_STANDARD_ABI libmpi_c_abi_la_LIBADD = libmpi_c_abi_profile.la if BUILD_MPI_BINDINGS_LAYER libmpi_c_abi_la_LIBADD += libmpi_c_abi_noprofile.la diff --git a/ompi/mpi/c/abi.h.in b/ompi/mpi/c/abi.h.in index c4040502a89..9da39fbc533 100644 --- a/ompi/mpi/c/abi.h.in +++ b/ompi/mpi/c/abi.h.in @@ -13,9 +13,9 @@ #include "stddef.h" #include "stdint.h" -/* #include */ - +#undef MPI_VERSION #define MPI_VERSION 5 +#undef MPI_SUBVERSION #define MPI_SUBVERSION 0 #define MPI_ABI_VERSION 1 @@ -34,29 +34,29 @@ typedef struct MPI_ABI_Request * MPI_Request; typedef struct MPI_ABI_Session * MPI_Session; typedef struct MPI_ABI_Win * MPI_Win; -/* /\* MPI_Aint is defined to be intptr_t (or equivalent to it, if compiler support is absent). */ -/* * The only acceptable alternative to intptr_t is the C89 type equivalent to it. *\/ */ -/* #if !defined(MPI_ABI_Aint) */ -/* #define MPI_ABI_Aint intptr_t */ -/* #endif */ -/* typedef MPI_ABI_Aint MPI_Aint; */ -/* #undef MPI_ABI_Aint */ - -/* /\* MPI_Offset will be 64b on all relevant systems. */ -/* * We allow for MPI implementations supporting for 128b filesystems. *\/ */ -/* #if !defined(MPI_ABI_Offset) */ -/* #define MPI_ABI_Offset int64_t */ -/* #endif */ -/* typedef MPI_ABI_Offset MPI_Offset; */ -/* #undef MPI_ABI_Offset */ - -/* /\* MPI_Count must be large enough to hold the larger of MPI_Aint and MPI_Offset. */ -/* * Platforms where MPI_Aint is larger than MPI_Offset are extremely rare. *\/ */ -/* #if !defined(MPI_ABI_Count) */ -/* #define MPI_ABI_Count MPI_Offset */ -/* #endif */ -/* typedef MPI_ABI_Count MPI_Count; */ -/* #undef MPI_ABI_Count */ +/* MPI_Aint is defined to be intptr_t (or equivalent to it, if compiler support is absent). + * The only acceptable alternative to intptr_t is the C89 type equivalent to it. */ +#if !defined(MPI_ABI_Aint) +#define MPI_ABI_Aint intptr_t +#endif +typedef MPI_ABI_Aint MPI_Aint; +#undef MPI_ABI_Aint + +/* MPI_Offset will be 64b on all relevant systems. + * We allow for MPI implementations supporting for 128b filesystems. */ +#if !defined(MPI_ABI_Offset) +#define MPI_ABI_Offset int64_t +#endif +typedef MPI_ABI_Offset MPI_Offset; +#undef MPI_ABI_Offset + +/* MPI_Count must be large enough to hold the larger of MPI_Aint and MPI_Offset. + * Platforms where MPI_Aint is larger than MPI_Offset are extremely rare. */ +#if !defined(MPI_ABI_Count) +#define MPI_ABI_Count MPI_Offset +#endif +typedef MPI_ABI_Count MPI_Count; +#undef MPI_ABI_Count typedef struct { int MPI_SOURCE; @@ -211,3 +211,4 @@ $CATEGORY:TOOL_INFO_IFACE_SOURCE_ORDERINGS$ * Callback safety requirement levels used in the MPI tool information interface */ $CATEGORY:TOOL_INFO_IFACE_CB_SAFETY_REQ_LEVELS$ + diff --git a/ompi/mpi/c/abi_details.c b/ompi/mpi/c/abi_details.c deleted file mode 100644 index 8dfc7b6e629..00000000000 --- a/ompi/mpi/c/abi_details.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2023 Triad National Security, LLC. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal/util/show_help.h" -#include "ompi/runtime/ompi_spc.h" -#include "ompi/mpi/c/bindings.h" -#include "ompi/communicator/communicator.h" -#include "ompi/errhandler/errhandler.h" -#include "ompi/constants.h" -#ifdef OMPI_NO_MPI_PROTOTYPES -#include "ompi/mpi/c/abi.h" -#endif - -static const char ABI_DETAILS[] = "Open MPI Standard ABI 0.1"; - -int MPI_Abi_details(int *buflen, char *details, MPI_Info *info) -{ - if (*buflen >= (int) sizeof(ABI_DETAILS)) { - strcpy(details, ABI_DETAILS); - *buflen = sizeof(ABI_DETAILS); - return MPI_SUCCESS; - } else { - *buflen = 0; - return MPI_ERR_BUFFER; - } -} diff --git a/ompi/mpi/c/abi_get_info.c.in b/ompi/mpi/c/abi_get_info.c.in new file mode 100644 index 00000000000..f8771f90c39 --- /dev/null +++ b/ompi/mpi/c/abi_get_info.c.in @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2023-2025 Triad National Security, LLC. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include + +#include "opal/util/show_help.h" +#include "ompi/runtime/ompi_spc.h" +#include "ompi/mpi/c/bindings.h" +#include "ompi/communicator/communicator.h" +#include "ompi/errhandler/errhandler.h" +#include "ompi/constants.h" +#ifdef OMPI_NO_MPI_PROTOTYPES +#include "ompi/mpi/c/abi.h" +#endif + +PROTOTYPE ERROR_CLASS abi_get_info(INFO_OUT info) +{ + int ret = OMPI_SUCCESS; + ompi_info_t *newinfo = NULL; + char tmp[16]; + + newinfo = ompi_info_allocate(); + if (NULL == newinfo) { + return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_NO_MEM, + "MPI_Info_dup"); + } + + /* TODO: need to set aint_size, count_size, offset_size */ + + snprintf(tmp, 16, "%" PRIsize_t, sizeof(MPI_Aint)); + ret = opal_info_set(&newinfo->super, "mpi_aint_size", tmp); + if (OPAL_SUCCESS != ret) { + goto err_cleanup; + } + snprintf(tmp, 16, "%" PRIsize_t, sizeof(MPI_Count)); + ret = opal_info_set(&newinfo->super, "mpi_count_size", tmp); + if (OPAL_SUCCESS != ret) { + goto err_cleanup; + } + snprintf(tmp, 16, "%" PRIsize_t, sizeof(MPI_Offset)); + ret = opal_info_set(&newinfo->super, "mpi_offset_size", tmp); + if (OPAL_SUCCESS != ret) { + goto err_cleanup; + } + + *info = newinfo; + return ret; + +err_cleanup: + ompi_info_free(&newinfo); + return ret; + +} diff --git a/ompi/mpi/c/abi_version.c b/ompi/mpi/c/abi_get_version.c similarity index 78% rename from ompi/mpi/c/abi_version.c rename to ompi/mpi/c/abi_get_version.c index 33d32854893..67ffac34ea2 100644 --- a/ompi/mpi/c/abi_version.c +++ b/ompi/mpi/c/abi_get_version.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Triad National Security, LLC. All rights reserved. + * Copyright (c) 2023-2025 Triad National Security, LLC. All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow @@ -21,7 +21,7 @@ #include "ompi/mpi/c/abi.h" #endif -int MPI_Abi_version(int *abi_major, int *abi_minor) +int MPI_Abi_get_version(int *abi_major, int *abi_minor) { /* 0.1 */ *abi_major = 0; diff --git a/ompi/mpi/c/attr_fn.c b/ompi/mpi/c/attr_fn.c index 5667f242420..6bbf417a069 100644 --- a/ompi/mpi/c/attr_fn.c +++ b/ompi/mpi/c/attr_fn.c @@ -133,6 +133,12 @@ int OMPI_C_MPI_COMM_DUP_FN( MPI_Comm comm, int comm_keyval, void* extra_state, return MPI_SUCCESS; } +/* + * Following are not part of the standard ABI + */ + +#ifndef OMPI_BUILD_STANDARD_ABI + int OMPI_C_MPI_NULL_DELETE_FN( MPI_Comm comm, int comm_keyval, void* attribute_val_out, void* extra_state ) @@ -156,3 +162,4 @@ int OMPI_C_MPI_DUP_FN( MPI_Comm comm, int comm_keyval, void* extra_state, *(void**)attribute_val_out = attribute_val_in; return MPI_SUCCESS; } +#endif From fedeb73e614672fc516104e5f35e951442f5375d Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Sat, 23 Aug 2025 15:51:31 -0600 Subject: [PATCH 13/14] git ignore additions Signed-off-by: Howard Pritchard --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d31d774b831..8a6f37543f2 100644 --- a/.gitignore +++ b/.gitignore @@ -537,6 +537,7 @@ docs/man ompi/mpi/c/*_generated*.c ompi/mpi/c/standard_*.c ompi/mpi/c/abi.h +ompi/mpi/c/abi_get_info.c ompi/mpi/c/standard_abi # Generated Fortran Bindings From efe6b00ab811bc4006c3a9948445391b1e8148a9 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Sat, 23 Aug 2025 15:52:07 -0600 Subject: [PATCH 14/14] ABI library: don't include functions in 19.3.4/5 in the library as they are not part of the ABI. Signed-off-by: Howard Pritchard --- ompi/mpi/c/Makefile.am | 66 ++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/ompi/mpi/c/Makefile.am b/ompi/mpi/c/Makefile.am index 3e775a0eb80..f5758158176 100644 --- a/ompi/mpi/c/Makefile.am +++ b/ompi/mpi/c/Makefile.am @@ -89,7 +89,6 @@ prototype_sources = \ cart_sub.c.in \ close_port.c.in \ comm_accept.c.in \ - comm_c2f.c.in \ comm_call_errhandler.c.in \ comm_compare.c.in \ comm_connect.c.in \ @@ -102,7 +101,6 @@ prototype_sources = \ comm_disconnect.c.in \ comm_dup.c.in \ comm_dup_with_info.c.in \ - comm_f2c.c.in \ comm_free.c.in \ comm_free_keyval.c.in \ comm_get_attr.c.in \ @@ -133,20 +131,16 @@ prototype_sources = \ dist_graph_create.c.in \ dist_graph_neighbors.c.in \ dist_graph_neighbors_count.c.in \ - errhandler_c2f.c.in \ - errhandler_f2c.c.in \ errhandler_free.c.in \ error_class.c.in \ error_string.c.in \ exscan.c.in \ exscan_init.c.in \ fetch_and_op.c.in \ - file_c2f.c.in \ file_call_errhandler.c.in \ file_close.c.in \ file_create_errhandler.c.in \ file_delete.c.in \ - file_f2c.c.in \ file_get_amode.c.in \ file_get_atomicity.c.in \ file_get_byte_offset.c.in \ @@ -226,11 +220,9 @@ prototype_sources = \ graph_neighbors_count.c.in \ grequest_complete.c.in \ grequest_start.c.in \ - group_c2f.c.in \ group_compare.c.in \ group_difference.c.in \ group_excl.c.in \ - group_f2c.c.in \ group_free.c.in \ group_from_session_pset.c.in \ group_incl.c.in \ @@ -259,12 +251,10 @@ prototype_sources = \ ineighbor_alltoall.c.in \ ineighbor_alltoallv.c.in \ ineighbor_alltoallw.c.in \ - info_c2f.c.in \ info_create.c.in \ info_create_env.c.in \ info_delete.c.in \ info_dup.c.in \ - info_f2c.c.in \ info_free.c.in \ info_get.c.in \ info_get_nkeys.c.in \ @@ -294,8 +284,6 @@ prototype_sources = \ issend.c.in \ is_thread_main.c.in \ lookup_name.c.in \ - message_c2f.c.in \ - message_f2c.c.in \ mprobe.c.in \ mrecv.c.in \ neighbor_allgather.c.in \ @@ -309,11 +297,9 @@ prototype_sources = \ neighbor_alltoallw.c.in \ neighbor_alltoallw_init.c.in \ open_port.c.in \ - op_c2f.c.in \ op_commutative.c.in \ op_create.c.in \ op_free.c.in \ - op_f2c.c.in \ pack.c.in \ pack_external.c.in \ pack_external_size.c.in \ @@ -339,8 +325,6 @@ prototype_sources = \ reduce_scatter.c.in \ reduce_scatter_init.c.in \ register_datarep.c.in \ - request_c2f.c.in \ - request_f2c.c.in \ request_free.c.in \ request_get_status.c.in \ rget_accumulate.c.in \ @@ -358,10 +342,8 @@ prototype_sources = \ send_init.c.in \ sendrecv.c.in \ sendrecv_replace.c.in \ - session_c2f.c.in \ session_call_errhandler.c.in \ session_create_errhandler.c.in \ - session_f2c.c.in \ session_finalize.c.in \ session_get_errhandler.c.in \ session_get_info.c.in \ @@ -370,17 +352,10 @@ prototype_sources = \ session_get_pset_info.c.in \ session_init.c.in \ session_set_errhandler.c.in \ - session_set_info.c.in \ ssend.c.in \ ssend_init.c.in \ startall.c.in \ start.c.in \ - status_c2f08.c.in \ - status_c2f.c.in \ - status_f082c.c.in \ - status_f082f.c.in \ - status_f2c.c.in \ - status_f2f08.c.in \ status_get_error.c.in \ status_get_source.c.in \ status_get_tag.c.in \ @@ -396,7 +371,6 @@ prototype_sources = \ test_cancelled.c.in \ testsome.c.in \ topo_test.c.in \ - type_c2f.c.in \ type_commit.c.in \ type_contiguous.c.in \ type_create_darray.c.in \ @@ -413,7 +387,6 @@ prototype_sources = \ type_create_subarray.c.in \ type_delete_attr.c.in \ type_dup.c.in \ - type_f2c.c.in \ type_free.c.in \ type_free_keyval.c.in \ type_get_attr.c.in \ @@ -439,7 +412,6 @@ prototype_sources = \ win_allocate.c.in \ win_allocate_shared.c.in \ win_attach.c.in \ - win_c2f.c.in \ win_call_errhandler.c.in \ win_complete.c.in \ win_create.c.in \ @@ -455,7 +427,6 @@ prototype_sources = \ win_flush_local.c.in \ win_free.c.in \ win_free_keyval.c.in \ - win_f2c.c.in \ win_get_attr.c.in \ win_get_errhandler.c.in \ win_get_group.c.in \ @@ -477,7 +448,39 @@ prototype_sources = \ win_wait.c.in \ wtime.c.in +# See MPI-5 standard Chapter 20 section 4 +prototype_sources_not_in_abi = \ + comm_c2f.c.in \ + errhandler_c2f.c.in \ + file_c2f.c.in \ + group_c2f.c.in \ + info_c2f.c.in \ + message_c2f.c.in \ + op_c2f.c.in \ + request_c2f.c.in \ + session_c2f.c.in \ + status_c2f08.c.in \ + status_c2f.c.in \ + status_f082c.c.in \ + status_f082f.c.in \ + status_f2f08.c.in \ + type_c2f.c.in \ + win_c2f.c.in \ + comm_f2c.c.in \ + errhandler_f2c.c.in \ + file_f2c.c.in \ + group_f2c.c.in \ + info_f2c.c.in \ + message_f2c.c.in \ + op_f2c.c.in \ + request_f2c.c.in \ + session_f2c.c.in \ + status_f2c.c.in \ + type_f2c.c.in \ + win_f2c.c.in + EXTRA_DIST = $(prototype_sources) \ + $(prototype_sources_not_in_abi) \ abi_converters.h \ abi_get_info.c.in @@ -503,7 +506,8 @@ nobase_include_HEADERS = abi.h standard_abi/mpi.h # generated from prototype_sources above). # # -interface_profile_sources = $(prototype_sources:.c.in=_ompi_generated.c) +interface_profile_sources = $(prototype_sources:.c.in=_ompi_generated.c) \ + $(prototype_sources_not_in_abi:.c.in=_ompi_generated.c) # Conditionally install the header files @@ -587,7 +591,7 @@ abi.h: $(top_srcdir)/docs/mpi-standard-apis.json $(top_srcdir)/ompi/mpi/bindings $< endif -MAINTAINERCLEANFILES = *_generated.c $(nobase_include_HEADERS) +MAINTAINERCLEANFILES = *_generated.c abi_get_info.c abi_get_version.c $(nobase_include_HEADERS) if OMPI_STANDARD_ABI include Makefile_abi.include endif